macで使用するPythonバージョンを切り替える

きっかけ

  • ずっとしようと思っていて、意外とすぐできなかったのでメモ
  • しかも2021.5中旬ごろから(最近・・・!)、pyenvのアップデートでwarningが出るようになったとのことなのでメモ
  • pyenvを使って切り替える方法を書いておく



1. macにpyenv をインストールする

$ brew install pyenv
  • brew を使います
  • brew ない方は、 brew をインストールしてください
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Homebrew

2. pyenv でインストール可能なPythonのバージョンを確認する

$ pyenv install --list

3. 自分がインストールしたいPythonバージョンを指定してインストールする

  • 今回は 3.9.5 をインストールする
$ pyenv install 3.9.5

4. 自分のmacにインストールされているPythonのバージョンを確認する

$ pyenv versions

5. 先ほどインストールした新しいPythonバージョンに切り替える

$ pyenv global 3.9.5

# この段階では python --version してもまだ切り替わっていないので続けて以下を実行する

$ eval "$(pyenv init -)"

eval "$(pyenv init -)" したら、↓のメッセージが出た

  • 2021年5月中旬ごろから出るようになったらしい
WARNING: `pyenv init -` no longer sets PATH.
Run `pyenv init` to see the necessary changes to make to your configuration

参考:https://zenn.dev/antyuntyun/articles/pyenv_warning_resolve

  • zsh使ってる方は vim ~/.zshrc などして .zshrc ファイルに、
  • bash使ってる方は vim ~/..bashrc して .bashrc ファイルに、
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init --path)"
fi

を追記します

  • 追記したらsource ~/.zshrc (zshの人)、 source ~/.bashrc (bashの人) を実行して↑で追記した設定をシェルに反映させます

参考: https://qiita.com/sinnyuu_alter/items/e85401d591a98c56431a

  • ここまで設定して、再度 eval "$(pyenv init -)" を再度実行すると何も表示されないはずです

6. Pythonのバージョンが切り替わっているか確認する

$ python --version

ここまでで完了です.

参考:https://qiita.com/Kohey222/items/19eb9b3cbcec9b176625