macでPythonを利用するときのバージョンの切り替えの手順をまとめました。
Homebrewは、macOSで使えるパッケージ管理ツールです。
pyenvは、Pythonのバージョン管理ツールです。
シェル:zsh
別のシェルを使っている方は、設定ファイル.zshrc
を適宜読み替えてください。
Homebrewでpyenvをインストール
Homebrewを久々に使う場合
brew update
brew list
brew uninstall <package>
brew upgrade
Homebrewでpyenvをインストール
brew install pyenv
pyenvのPATHを通す
nano ~/.zshrc
export PATH="$HOME/.pyenv/bin:$PATH" #追加
eval "$(pyenv init --path)" #追加
eval "$(pyenv init -)" #追加
シェルを再起動
exec "$SHELL"
または source ~/.zshrc
pyenvでPythonのバージョン切り替え
% pyenv versions
* system (set by /Users/a/.pyenv/version)
% pyenv install 3.12.0
% pyenv versions
* system (set by /Users/a/.pyenv/version)
3.12.0
% pyenv global 3.12.0
system
* 3.12.0 (set by /Users/a/.pyenv/version)
Pythonのバージョン確認
python -V
zsh: no such file or directory: /usr/local/bin/python3
なぜか別のディレクトリを指していました。
which python
python: aliased to /usr/local/bin/python3
エイリアスが設定されてそうなので、削除します。
エイリアス削除
alias python
unalias python
設定ファイルにエイリアスを追加する設定がある場合も削除します。
nano ~/.zshrc
alias python=/user/local/bin/python3 #削除
削除しないと再読み込みするたびに、エイリアスがつきます。
Pythonのバージョン確認
python -V
Python 3.12.0
pyenvで追加したバージョンが使えるようになりました。
補足
pyenv global system
systemでPythonを利用する時は、python3を明確に指定しないとエラーになります。
% python -V
pyenv: python: command not found
The `python' command exists in these Python versions:
3.12.0
Note: See 'pyenv help global' for tips on allowing both
python2 and python3 to be found.
% python3 -V
Python 3.9.6