【Python】「ModuleNotFoundError: No module named ‘_tkinter’」対処
更新月:2025/1
Macbook(MacOS)でのPython実行時、Tkinterのエラー「ModuleNotFoundError: No module named ‘_tkinter’」発生時の対処法の説明となります。
解決策: Tkinterが動作しない場合の対応方法(pyenv使用時)
ステップ 1: XQuartzのインストール確認
TkinterはMacOSでGUIアプリケーションを表示するために、X11(XQuartz)を使用することがあります。まず、XQuartzがインストールされているかを確認します。
1. XQuartzがインストールされているか確認
which XQuartz
インストールされている場合: /opt/X11/bin/XQuartz
などのパスが表示されます。
インストールされていない場合: 何も表示されません。
2. XQuartzのバージョン確認
Launchpad → その他 → XQuartzをダブルクリックもしくはターミナルで「XQuartz」実行でXQuartzが立ち上がります。
上部メニューバー → XQuartz → X11についての順に進めると、XQuartzのバージョンが分かります。
3. XQuartzがインストールされていない場合
brew install --cask xquartz
途中パスワードが求められます。XQuartzをインストール後、MacOSを再起動し、再度確認してください。
ステップ 2: tcl-tkのインストール確認
Tkinterは
1. tcl-tkがインストールされているか確認
brew list tcl-tk
インストールされている場合: tcl-tkのパスが表示されます。
インストールされていない場合:「Error: No such keg: /opt/homebrew/Cellar/tcl-tk」と表示されます。
2. tcl-tkがインストールされていない場合
brew install tcl-tk
brewによるtcl-tkインストール
brew link tcl-tk --force
念のため、tcl-tkリンクコマンドを明示的に実行。
ステップ 3: pyenvの使用確認とPythonの再インストール
1. pyenvのインストール確認
which pyenv
インストールされている場合: pyenvのエイリアスメソッドが表示されます。
インストールされていない場合: 「pyenv not found」と表示されます。
2. pyenvがインストールされていない場合
brew install pyenv
pyenvインストール後、必要なPythonバージョンをインストールします。
ステップ 4: Pythonを再インストール(pyenvでのインストール)
1. pyenvでPythonをアンインストール
pyenv uninstall 3.x.x(バージョン番号)
※アンインストールをせずに別の新しいバージョンをインストールする方法もあります。
2. pyenvでPythonをインストール
pyenv install 3.x.x(バージョン番号)
3. pyenvでインストールしたPythonを使用するように設定
pyenv global 3.x.x
これでpyenvでインストールしたPythonがシステムのデフォルトとして使用されるようになります。
ステップ 5: Tkinterの動作確認
Pythonを再インストールした後、Tkinterが正しく動作するかを確認するため、以下のコマンドを実行します。
python -m tkinter
Tkinterが正常に動作する場合、シンプルなGUIウィンドウが表示されます。
エラーが発生する場合、さらにトラブルシューティングが必要です。
まとめ
- XQuartzがインストールされているか確認し、インストールされていない場合は
brew install --cask xquartz
でインストール。 - tcl-tkがインストールされているか確認し、インストールされていない場合は
brew install tcl-tk
でインストール。 - pyenvで
pyenv uninstall 3.x.x
でアンインストールし、pyenv uninstall 3.x.x
でインストール。pyenv global
で使用するPythonバージョンを設定。 - Tkinterの動作確認を行い、問題が解決したか確認します。
これらの手順に従うことで、「ModuleNotFoundError: No module named ‘_tkinter’」エラーを解決できるはずです。
関連記事
外部リンク
生成AIメモ
- 利用AI:ChatGPT 4o mini、一部利用
- プロンプト1:MacOSにてPythonを起動したところ、以下のメッセージが出力されました。解決策を提示してください。
「ModuleNotFoundError: No module named ‘_tkinter’」以下の点を考慮した提示をお願いします。
・アプリインストールが必要な場合はまず既にインストールしているか確認する手順を含めて提示してください。
・Python再インストールが必要な場合はpyenvを使用しているケースに絞って説明をお願いします。 - プロンプト2:先程の内容をhtml形式(style使わず)で示してください
内容チェックの後、かなりの加筆・修正し、動作確認済。Pythonの直近のバージョンアップに追従出来ていないのと、Tkinter導入手順がインターネット記事で千差万別である為、無料版ChatGPTはまだ厳しそう。