【M1/M2 Mac】Tkinterも使えるようにする! Python環境構築
Macには、既にPythonが入っていますが、最新ではありません。使い勝手が悪いです。
ここでは最新バージョンで、アプリ開発によく使われるGUIライブラリのTkinterやPython用の統合開発環境であるIDLE(Python用の統合開発環境(IDLEと略記:Integrated DeveLopment Environment))が使えるように、Pythonをインストールして環境構築を行なっていく手順を紹介します。
Macでは初期状態でターミナルがインストールされていますので、こちらを使っていきます。
MacはデフォルトでPythonが含まれていますので、pyenvを使用し、複数のPythonバージョンを管理してPython実行環境を作っていきます。
Macではコマンドツール類はパッケージを管理できるHomebrewを利用します。
以下の環境と条件で、 Pythonの環境を整えていく手順になります。
– pyenv利用
– Anaconda/ Minicondaは使わない
– Python 3.11.2 (2023.3での最新版)をインストール
自分のMacがなんのシェルを使用しているか確認する
Macにデフォルトで入っている、ターミナルを使って環境構築をしていきます。
ターミナルの開き方
「Finder」のメニューバー「移動」→「ユーティリティ」フォルダを選びます。Finderが開き、「ターミナル」という項目があるので、ダブルクリックで開きます。
Catalina世代以前は bash、 Catalina世代以降は zsh になります。ターミナルを立ち上げた時の、上部のタイトルバーで確認することができます。
デフォルトシェルがbashの人は、”.zshrc“ を ”.bash_profile“ に置き換えて進めます。
デフォルトのPythonのバージョンを調べる
MacにはデフォルトのPythonが入っています。バージョンを調べるには、ターミナルで、以下のコマンドを入力します。
python --version
Homebrewをインストール
macOS上で動作するパッケージ管理ツール Homebrew をインストールします。
ただ、Xcode がインストールされていないと Homebrew をインストールできないので、まずは Xcodeを入れましょう。ターミナルに下をコピペしてリターンキーを押して実行します。
xcode-select --install
Xcode がインストールできたら、Homebrewをインストールします。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
以下の内容のメッセージが表示されるはずです。
Warning: /opt/homebrew/bin is not in your PATH. Instructions on how to configure your shell for Homebrew can be found in the 'Next steps' section below. ==> Installation successful! -- 中略 -- ==> Next steps: - Run these three commands in your terminal to add Homebrew to your PATH: echo '# Set PATH, MANPATH, etc., for Homebrew.' >> /Users/{ユーザー名}/.zprofile echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/{ユーザー名}/.zprofile eval "$(/opt/homebrew/bin/brew shellenv)" - Run brew help to get started - Further documentation: https://docs.brew.sh
指示通り、ターミナルにHomebrewのPATHを加えます。
具体的には、==> Next steps:にある、以下の部分を、ターミナルにコピーします。
echo '# Set PATH, MANPATH, etc., for Homebrew.' >> /Users/{ユーザー名}/.zprofile
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/{ユーザー名}/.zprofile
ターミナルに設定ファイルを再読み込みさせます。
source ~/.zprofile
これで環境変数PATHにhomebrew関係のパスが追加されました。
pyenvをインストール
brewをアップデートします。
brew update
brewよりpyenvをインストールします。
brew install pyenv
pyen使えるように、シェルの設定をします。
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
tcl-tkおよびxzをインストール
tkinterはPythonの標準ライブラリですが、tkinterの依存先であるTcl/TkというGUIツールがないとエラーが起こります。そして、M1やM2のMacintoshでは、入っていないようです。
なので、Pythonをインストールする前に、TkinterとIDLEを使えるようにするため、tcl-tkおよびxzをインストールします。
xzをインストール
brew install xz
tcl-tkをインストール
brew install tcl-tk
インストールしたtcl-tkの詳細を確認しましょう。
brew info tcl-tk
Vimを活用して.zshrcファイルを編集します。
vi ~/.zshrc
bashの場合は.bash_profileファイルを編集します。
vi ~/.bash_profile
.zshrcファイル(.bash_profileファイル)へ以下を記述します。
「i 」キーを押して編集モードにし、以下を追加します。
export PATH="/usr/local/opt/tcl-tk/bin:$PATH"
export CPPFLAGS="-I/usr/local/opt/tcl-tk/include"
export PKG_CONFIG_PATH="/usr/local/opt/tcl-tk/lib/pkgconfig"
export PYTHON_CONFIGURE_OPTS="--with-tcltk-includes='-I/usr/local/opt/tcl-tk/include' --with-tcltk-libs='-L/usr/local/opt/tcl-tk/lib -ltcl8.6 -ltk8.6'"
「esc」キー を押して編集モードを終了し、
以下のコマンドを入力して、vimを保存終了します。
:wq
設定ファイルの再読み込みをします。
source ~/.zshrc
bashの場合は以下のコマンドになりますね。
source ~/.bash_profile
pyenvでPythonの最新版をインストール
PythonをPyenvを使ってインストールします。ここでは、現時点(2023年3月13日)で新しい、3.11.2をインストールします。
pyenv install 3.11.2
pyenvでインストールしたPythonをglobal化
インストールしたPythonをメインで使用するように、グローバル化します。
pyenv global 3.11.2
インストールしたPythonが選択されているか確認してみましょう。
pyenv versions
これで、PythonでTkinterとIDLEが使えるようになりました。
インストールできる Python のバージョンを表示する
pyenv install --list
Tkinterが動くか調べるコマンド
Tkinterが使えるかどうか試してみましょう。
python -m tkinter
tkウィンドウが表示されれば、Tkinterが使えるようになっています。
IDLEは、Tkinterを使用しているので、もちろんIDLEを使用することもできます。
IDLEを起動する
IDLEを使ってみましょう。コマンドラインで、 idle と入力します。
idle
IDLEが起動できれば、OKです。IDLEを終了するときは、以下を入力するとターミナルに戻ります。
quit()
各パッケージのインストール
使用したいモジュールはpipコマンドを使って、インストールすることができます。
pip install requests pip install beautifulsoup4
何がpipでインストールされているか確認するときは、以下を入力します。
pip list
既に Pythonをインストールして使用している場合
Pythonを既に使っている場合で、TkinterやIDLEなどを使いたい場合、インストールし直しになります。
再インストール作業に入る前に、下準備として、pipで入れたパッケージリストを保存しておくと、パッケージを復元することができます。
現環境で動作するパッケージ情報をrequirements.txtファイルへ書き込み
pip freeze > requirements.txt
requirements.txtファイルを元にパッケージ情報の復元(requirements.txtがある箇所で実行する)
pip install -r requirements.txt
コメントを投稿するにはログインしてください。