Pythonでtkinterを使おうとするとエラーが起きる場合の対処法
auです。
Pythonでクリックを取得するために、「tkinter」のライブラリを利用しようとしたら、以下のようなエラーが出ました。
File "click_event.py", line 1, in <module> import tkinter File "/Users/username/.pyenv/versions/3.7.0/lib/python3.7/tkinter/__init__.py", line 36, in <module> import _tkinter # If this fails your Python may not be configured for Tk ModuleNotFoundError: No module named '_tkinter'
調べてみると、Pyenvを使っている人がこのライブラリを使うおうとする出るようです。
参考を見ながらやってみました。
1. Pyenvのバージョンを確認
pyenv -v pyenv 1.x.x
2. Viを利用してファイルの775行目にの行を置換
この際に、VERSIONを上記で取得したPyenvのバージョンに書き換える
vi /usr/local/Cellar/pyenv/1.x.x/plugins/python-build/bin/python-build 3. 775行目を以下の内容に置き換える $CONFIGURE_OPTS --with-tcltk-includes='-I/usr/local/opt/tcl-tk/include' --with-tcltk-libs='-L/usr/local/opt/tcl-tk/lib -ltcl8.6 -ltk8.6 ' ${!PACKAGE_CONFIGURE_OPTS} "${!PACKAGE_CONFIGURE_OPTS_ARRAY}" || return 1
4. Pyenvに入っているPythonのバージョンを確認
pyenv versions system * 3.x.x (set by PYENV_VERSION environment variable) anaconda3-4.3.1
5. PyenvにPythonを入れ直すために以下のコマンドを入力
アンイストールの際に許可を求められたので「y」と入力してエンターを押す
pyenv uninstall 3.x.x pyenv install 3.x.x
6. tkinterを実行する
python -m tkinter
Windowが出てくれば成功している