【Mac】Python pyenv 使い方

Mac にデフォルトで入っているPythonのバージョンは、かなり古い。
(Catalinaですら Python 2.7だったりする)

複数のバージョンを入れて自由に切り替えできたほうが良いが、
pyenv ならそれが簡単に実現可能。

参考

インストール

pyenv のインストールは HomeBrew経由で行う。

$ brew update
$ brew install pyenv

パスを通す

pyenv で選択したバージョンがMacで有効になるためには、 ~/.bash_profile に適切にパスが設定されている必要がある。

下記コマンドで登録するか、

$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init --path)"' >> ~/.bash_profile

直接 ~/.bash_profile を開いて、直接下記を書き込んでも良い。

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"

パスを通したら、 下記コマンドで .bash_profile の変更をターミナルに反映させる。
.bash_profile は、下記コマンド実行時か、Macユーザのログイン時にしか読み込みされない)

「pyenv init -」と「pyenv init --path」の違いについて

旧来の pyenv では下記の書き方で問題なく動いていた(公式ドキュメントにもこの書き方を推奨されていた)が、

if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init -)"
fi

最新では pyenv では下記の書き方でないと動かなくなっている。

eval "$(pyenv init --path)"

https://github.com/pyenv/pyenv#homebrew-on-mac-os-x

$ source ~/.bash_profile

現在のPythonのバージョンを確認

$ python --version

インストール可能なpythonのバージョン一覧を確認

$ pyenv install --list

現在インストール済みのpythonのバージョンを確認

$ pyenv versions

特定のバージョンをインストール

$ pyenv install 3.9.0

使用するバージョンの選択

$ pyenv global 3.9.0
執筆日:
本記事のタグ