MacBookでTkinterがうまく動作しないときの対処

とっと
とっと

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環境ごと最新のバージョンをインストールしなおすことで解決しました。

今回わたしが行った手順は以下のとおりです。

  • ステップ1
    Homebrewのインストール

    最初にパッケージ管理ツールであるHomebrewをインストールします。Homebrewは、次のpyenvをインストールするために必要となります。

  • ステップ2
    pyenvのインストール

    Pythonのバージョン管理ツールであるpyenvをインストールします。pyenvは、最新のPythonをインストールするために必要となります。

  • ステップ3
    Tkinterライブラリ(tcl-tk)のインストール

    Homebrewを使って最新のTkinterライブラリ(tcl-tk)をインストールします。

  • ステップ4
    Pythonのインストール

    pyenvを使って最新のPython環境をインストールします。

  • ステップ5
    動作確認

    最後にTkinterによるGUI画面のテスト表示ができるか確認します。

それぞれ詳しく解説していきます。

Homebrewのインストール

まず、パッケージ管理ツールであるHomebrewをインストールします。

以下のサイトにアクセスして、インストールの下にあるコマンドをコピーします。

Page not found · GitHub Pages

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画面が表示されました!

とっと
とっと

以上になります!

参考にさせていただいたサイト

【M1 Pro/Max対応】M1 Mac環境構築ベストプラクティス - Qiita
はじめに2021/10/26にM1 Pro/Maxを搭載したMacBook Proが発売され、現在環境構築をされている方も多いかと思います。一方で、Pro/Maxも含めたM1 MacはIntel…

コメント

  1. oakij より:

    vimから戻る時insertモードを抜けなきゃいけないので一度escキーを押す必要があります。mac初心者は注意です。

    • zuttototto zuttototto より:

      コメントありがとうございます!
      こちらでも確認しました。おっしゃる通りvimでの入力完了後、escキーで入力モードを解除して、保存ですね。記事を修正させていただきました。