このサイトは、只今WEB業界で活躍中のデザイナー、プログラマーの方々の情報を集めたweb統合情報サイトです。

macOS pyenv環境でtkinterが動かないので、再度インストール

この記事は最終更新日から1年以上が経過しています。

PythonのGUI パッケージである「tkinter」をMacのpyenvでインストールしたPythonで利用しようとところ、Macデフォルトのversion8.5読み込んでしまい、こちら問題があり以下のエラーが出てしまう。

ImportError: No module named '_tkinter’
tk.h version (8.6) doesn't match libtk.a version (8.5)

Homebrewの「tcl-tk」パッケージは、8.6のようだがパスやら通っていない。

調べるところ、ビルドし直し パス通せば行けそう。

だが、ビルドソースを変更しないで再ビルドを行いたい。

と言うことで、Homebrewで「tcl-tk」パッケージインストールし、ビルドし直す手順です。

Homebrew tcl-tkインストールしpathを通す

Homebrewで「tcl-tk」パッケージインストール

$ brew install tcl-tk

8.6がインストールされているか確認。

brew info tcl-tk
tcl-tk: stable 8.6.10 (bottled) [keg-only]
Tool Command Language
https://www.tcl-lang.org
/usr/local/Cellar/tcl-tk/8.6.10 (3,036 files, 51MB)
...

こんな感じで表示されればオッケー。

元々使っていた、pyenvのPython3.7.0を一旦アンインストール。

$ pyenv uninstall 3.7.0

以下のコマンドで、パスを通しつつ再インストール。

$ env \
PATH="$(brew --prefix tcl-tk)/bin:$PATH" \
LDFLAGS="-L$(brew --prefix tcl-tk)/lib" \
CPPFLAGS="-I$(brew --prefix tcl-tk)/include" \
PKG_CONFIG_PATH="$(brew --prefix tcl-tk)/lib/pkgconfig" \
CFLAGS="-I$(brew --prefix tcl-tk)/include" \
PYTHON_CONFIGURE_OPTS="--with-tcltk-includes='-I$(brew --prefix tcl-tk)/include' --with-tcltk-libs='-L$(brew --prefix tcl-tk)/lib -ltcl8.6 -ltk8.6'" \
pyenv install 3.7.0

全体で使用するPythonをバージョン3.7.0に再設定。

$ pyenv global 3.7.0

tkinterが起動するか確認。

$ python -m tkinter

立ち上がった!

ubuntuでtkinter開発していたが、Macでも出来て良かった。

Related Article

LATEST NEWS

RANKING

ARCHIVE

SPONSOR

現在、掲載募集中です。



Links

現在、掲載募集中です。



About Us

WEBデザイナーの、WEBデザイナーによる、WEBデザイナーの為のサイト。「みんなで書こう!」と仲間を募ってみたが、結局書くのは自分だけとなってしまいました。日々のメモを綴っていきます。

Entry Profile

Graphical FrontEnd Engineer
- Daisuke Takayama

MAD CITY 北九州市で生まれ育つ。20代はバンド活動に明け暮れ、ふと「webデザイナーになりたい。」と思い、デジタルハリウッド福岡校入学。卒業後、数々の賞を受賞、web業界をざわつかせる。
現在、主に、ゲーム制作中心に港区六本木界隈で活動中。