【pyenv】最新版のPythonブチ込んだらtkinter入ってなかった件【MacOS】

そんなモジュールねーよって怒られます。

~/python_gitgud $ python3 -m tkinter
Traceback (most recent call last):
  File "<frozen runpy>", line 189, in _run_module_as_main
  File "<frozen runpy>", line 148, in _get_module_details
  File "<frozen runpy>", line 112, in _get_module_details
  File "/usr/local/var/pyenv/versions/3.12.2/lib/python3.12/tkinter/__init__.py", line 38, in <module>
    import _tkinter # If this fails your Python may not be configured for Tk
    ^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named '_tkinter'

下記の手順で治ったのでシェア。



1/ homebrewでtkinterを入れる

brew install tcl-tk



2/ pyenvでPythonをインストールし直す

pyenv versions
pyenv uninstall 3.12.2  # アンインストールは自己責任で
pyenv install 3.12.2  # インストールし直す



↓ すると、ビルド中のログに、tcl-tk from homebrew が表示される

Downloading Python-3.12.2.tar.xz...
-> https://www.python.org/ftp/python/3.12.2/Python-3.12.2.tar.xz
Installing Python-3.12.2...
python-build: use tcl-tk from homebrew
python-build: use readline from homebrew
python-build: use zlib from xcode sdk



3/ 最後に確認

$ python3 -m tkinter



成功するとこういう感じのテストウィンドウが表示されます。

感想

tkinter使ってないんですかね。

他に良いフレームワークがあったら教えてください。