ablog

不器用で落着きのない技術者のメモ

pyenv で Python のバージョンを切替えて使う

pyenv を使って複数のバージョンの Python をインストールして切替える方法をメモ。

pyenv とは

複数バージョンの Python をインストールしてコマンド一発で使うバージョンを切替えることができるツール。

pyenv lets you easily switch between multiple versions of Python. It's simple, unobtrusive, and follows the UNIX tradition of single-purpose tools that do one thing well.
This project was forked from rbenv and ruby-build, and modified for Python.

pyenv does...

  • Let you change the global Python version on a per-user basis.
  • Provide support for per-project Python versions.
  • Allow you to override the Python version with an environment variable.
  • Search commands from multiple versions of Python at a time. This may be helpful to test across Python versions with tox.
GitHub - pyenv/pyenv: Simple Python version management

pyenv をインストールする

  • pyenv をインストールする
$ brew install pyenv
  • ~/.zshrc に以下を追記
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
$ source ~/.zshrc

Python をインストールする

  • インストール可能な Python のバージョンを確認する
$ pyenv install --list
  • Python 3.5.0 をインストールする
$ pyenv install 3.5.0
  • Python 2.7.13 をインストールする
$ pyenv install 2.7.13

バージョンを切替える

pyenv global <バージョン> とすると全体に、pyenv local に<バージョン> するとそのカレントディレクトリに反映される。一度、設定すると永続化される。

  • インストールされているバージョンを確認する
$ pyenv versions 
  system
* 2.7.13 (set by /Users/******/.pyenv/version)
  3.5.0
  • 3.5.0 に切替える
$ pyenv global 3.5.0
$ pyenv version
3.5.0 (set by /Users/*******/.pyenv/version)
  • 2.7.13 に切替える
$ pyenv global 2.7.13
$ pyenv version
2.7.13 (set by /Users/******/.pyenv/version)

環境