こんばんはエンジニアの眠れない夜です。
はじめに
MacOSユーザーの皆さん、Pythonプログラミングを始めようとして、tkinterのインポートでつまずいていませんか?
もしくは、OSのバージョンを上げてtkinterを使ったGUIをクリックしても反応しないという問題に遭遇していませんか?
この記事では、MacOS 14.x (Sonoma) 以降で発生する一般的なPythonとtkinterの問題を解決する手順を詳しく解説します。
目次
問題の概要
MacOS 14.x以降のバージョンでtkinterをインポートしたときに、以下のようなエラーに遭遇することがあります:
import tkinter as tk
Traceback (most recent call last):
File "", line 1, in
File "/usr/local/Cellar/python@3.12/3.12.4/Frameworks/Python.framework/Versions/3.12/lib/python3.12/tkinter/__init__.py", line 38, in
import _tkinter # If this fails your Python may not be configured for Tk
^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named '_tkinter'
これは、MacOS 14.x以降のバージョンでPython3.11以下を利用したときに発生することが分かっています。
解決手順
以下の手順に従って、MacOSにPythonとtkinterを正しく設定しましょう。
注意点
- この設定により、システム全体で新しくインストールしたPython 3.12が使用されるようになります。
- 以前使用していたPython(例:Homebrewでインストールしたもの)は使用されなくなります。
- 他のPythonベースのアプリケーションやツールに影響を与える可能性があります。
1 Python公式サイトから最新のPythonインストーラー(macOS 64-bit universal2 installer)をダウンロードしてインストールします。
2 ターミナルを開き、.zshrc
ファイルを編集します:
nano ~/.zshrc
3 ファイルの最後に以下の行を追加します:
export PATH="/Library/Frameworks/Python.framework/Versions/3.12/bin:$PATH"
alias python3="/Library/Frameworks/Python.framework/Versions/3.12/bin/python3"
alias python="/Library/Frameworks/Python.framework/Versions/3.12/bin/python3"
4 ファイルを保存し、閉じます。
5 新しい設定を反映させるため、以下のコマンドを実行します:
source ~/.zshrc
6 設定が正しく適用されたか確認するため、以下のコマンドを実行します:
which python3
python3 --version
7 tkinterがインポートできるか確認します:
python3 -c "import tkinter; print(tkinter.TkVersion)"
仮想環境の使用
特定のプロジェクトでのみ新しいPythonを使用したい場合は、仮想環境(venv)の使用をおすすめします:
/Library/Frameworks/Python.framework/Versions/3.12/bin/python3 -m venv myenv
source myenv/bin/activate
これで、プロジェクトごとに独立したPython環境を構築できます。
まとめ
本記事では、MacOS 14.x以降でPythonとtkinterを正しく設定する方法を解説しました。
この手順に従うことで、「ModuleNotFoundError: No module named ‘_tkinter’」というエラーを解決し、tkinterをインポートできるようになります。
この記事があなたのお役に立てれば幸いです。
コメントを残す