MacBook AirのPython環境で、TkinterによるGUI画面がうまく表示されなかったときに行った処置をまとめます!
2022年3月に購入したMacBook Air(M1, 2020, OSはMonterey)での事例となります。
このMacBookは、デフォルトでPython3系のバージョン3.8.9の環境がインストールされていました。
こんな事象に出くわしました
もともとWindows機でつくったPythonのプログラムを、新たに購入したMacBookで動作させてみようとしたときのことです。TkinterのGUI画面が正常に表示されず、テストコマンドを打ってみたところ、こんなワーニングメッセージがでました。
システムに入っているTkinterのバージョンが非推奨、と言われてテスト表示されませんでした。
そこで、Python環境ごと最新のバージョンをインストールしなおすことで解決しました。
今回わたしが行った手順は以下のとおりです。
- ステップ1Homebrewのインストール
最初にパッケージ管理ツールであるHomebrewをインストールします。Homebrewは、次のpyenvをインストールするために必要となります。
- ステップ2pyenvのインストール
Pythonのバージョン管理ツールであるpyenvをインストールします。pyenvは、最新のPythonをインストールするために必要となります。
- ステップ3Tkinterライブラリ(tcl-tk)のインストール
Homebrewを使って最新のTkinterライブラリ(tcl-tk)をインストールします。
- ステップ4Pythonのインストール
pyenvを使って最新のPython環境をインストールします。
- ステップ5動作確認
最後にTkinterによるGUI画面のテスト表示ができるか確認します。
それぞれ詳しく解説していきます。
Homebrewのインストール
まず、パッケージ管理ツールであるHomebrewをインストールします。
以下のサイトにアクセスして、インストールの下にあるコマンドをコピーします。
Mac上でターミナルを開き、コピーしたコマンドをペーストして実行します。
パスワードを聞かれますので、Macにログインしたときのパスワードを入力します。
途中、続ける場合はエンターを押すように言われるので、エンターを押します。
インストールが完了すると、M1系CPUでは以下のように「パスを通してください」というメッセージと共に2個のコマンドが表示されます。
指示に従い、二つのコマンドを入力していきます。
まず一つ目。
つぎに二つ目。
これで完了です。
Homebrewがインストールされたか確認します。
今回の場合はバージョン3.4.3と表示され、正常にインストールされたことを確認できました。
pyenvのインストール
次にpyenvをインストールしていきます。
さきほどインストールしたパッケージ管理ツールのbrewを使って、pyenvをインストールします。
しばらく待っていると、もろもろダウンロードしながらインストールが完了しました。
インストールが完了したら、念のためシェルを確認してPATHを通します。
zshを使っていますので、~/(ユーザディレクトリのトップ)にある.zshrcというファイルに以下のテキストを追記していきます。
export PYENV_ROOT=”$HOME/.pyenv”
export PATH=”$PYENV_ROOT/bin:$PATH”
eval “$(pyenv init –path)”
eval “$(pyenv init -)”
cdコマンドでディレクトリを指定せずにリターンを押し、ユーザディレクトリのトップに移動します。
VIエディタでこのフォルダにある.zshrcを開きます。
“i”を押し、入力モードへ
先ほどの4行をペースト(command + V)します。
escキーを押して入力モードを抜け、:wqとうち、returnで上書き保存です。
これでpyenvを使う準備が完了しました。
Tkinterライブラリ(tcl-tk)のインストール
Tkinterライブラリ(tcl-tk)をインストールしていきます。
まずtcl-tkがインストールされているか確認します。
brewの管理しているパッケージの一覧が表示されます。先ほどインストールしたpyenvの表示はありますが、tcl-tkの表示はありません。
brewをつかってtcl-tkをインストールします。
しばらく待つとインストールが完了しました。
tcl-tkがインストールされたことを確認します。
今度は一覧にtcl-tkが表示されました。これで最新版のインストールが完了です。
Pythonのインストール
最後に、最新のPython環境をインストールしていきます。
まず、pyenvでインストールできるPythonのバージョン一覧を表示し、現時点でインストールできる最新バージョンを確認します。
このように、現時点でインストールできるPythonのバージョン一覧が表示されます。
この時点では、3.10.3が最新のようです。
確認したバージョン情報から、最新のPythonをインストールします。
しばらく待つと、インストールが完了します。
インストールしたPythonのバージョンを確認します。
pyenvは使用するPythonのバージョンを管理するツールですので、これから使用するPythonのバージョンを設定します。
一度ターミナルを閉じて新たに再度起動し、インストールしたPythonにPATHが通っていることを確認します。
これで最新バージョンのPythonをインストールできました。
動作確認
TkinterのGUI画面が表示されるか、テストコマンドを打ってみます。
正常にTkinterによるGUI画面が表示されました!
以上になります!
参考にさせていただいたサイト
vimから戻る時insertモードを抜けなきゃいけないので一度escキーを押す必要があります。mac初心者は注意です。
コメントありがとうございます!
こちらでも確認しました。おっしゃる通りvimでの入力完了後、escキーで入力モードを解除して、保存ですね。記事を修正させていただきました。