pyenvで任意のPythonバージョンに切り替える方法

2021/03/30に公開

タイトル通り、pyenvを使って任意のPythonバージョンをインストールし、使いたいランタイムに応じて切り替える方法を紹介します。
環境は Mac です。
本記事執筆時点では AWS SAM が Python 3.9 に対応していなかったので、Python 3.8 をインストールしようと思いまとめます。

Homebrew を用いて pyenv をまずはインストールします。

$ brew install pyenv

インストールが終わったら pyenv でインストールできる Python バージョンを確認します。
(予め指定したいバージョンがわかっているならば必要ありません)

$ pyenv install -l

今回は Python 3.8.8 をインストールしたいので、その場合は次のようにターミナルに入力します。

$ pyenv install 3.8.8

インストールしたら、次のコマンドでデフォルトの Python バージョンを切り替えます。
※もし切り替わらない場合は一回ターミナルを再起動してみましょう。

$ pyenv global 3.8.8
$ python --version
  Python 3.8.8

これでインストールした Python 3.8.8 に切り替えることができました。

ついでに Python 3.7 系もインストールしておきます。

$ pyenv install 3.7.10

ここで、複数のバージョンを pyenv でインストールした時の切り替え方を紹介します。
次のコマンドでインストールしたバージョンを確認できます。

~ $ pyenv versions
  system
  3.7.10
* 3.8.8 (set by /Users/yourname/.pyenv/version)

上記の中でアスタリスクがついているバージョンが、現在使われている Python のバージョンということを表しています。
切り替えるには pyenv global コマンドを使います。

$ pyenv global 3.7.10
$ python -V
Python 3.7.10

指定したバージョンに切り替わったことを確認できました。

Discussion