Mac OSXにはPythonはデフォルトで2.X.Xがインストールされている。しかし、Pythonは3.X.X系にメジャーアップデートされており、大きな違いが存在している。バージョン2.X.X系と3.X.Xの間には後方互換がなく、ソースの書き方にも違いが有る。そのため、2.X.X系で動作していたプログラムが、3.X.X系では動作しない場合もある。したがって、複数バージョンを簡単に切り替えて使用できる環境構築がおすすめ!
pyenvを利用した環境構築
$ brew install pyenv
.zshrc
に追記
### pyenv
export PYENV_ROOT=/usr/local/var/pyenv
if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi
pyenvで様々なバージョンのPythonをインストールとアンインストール
以下のコマンドでインストール・アンインストール
pyenv install 2.7.8
pyenv install 3.5.0
pyenv uninstall 2.7.8
pyenv uninstall 3.5.0
pyenvで使用するPythonのバージョン切り替え
pyenv global x.x.x
または、pyenv local x.x.x
でバージョンの切り替えができる
global
にすると全体に、local
にすると現在いるカレントディレクトリに反映される
shell
にすると現在使用しているシェルに反映される
pyenv global system
とすると、デフォルトインストールされているPythonに戻せる
pyenv global 3.5.0
python --version
mkdir ~/work/python2
cd ~/work/python2
pyenv local 2.7.8
python --version
pyenvとvirtualenvを利用した複数バージョン環境
pyenvというPythonのバージョン切り替えツールをインストールする。さらに、同一バージョンで複数のライブラリを使用するような仮想環境を作成できるようにvirtualenv
も同時にインストール
番外編 - brewを利用しpyenvとvirtualenvを同時インストール
Mac OSXでソフトウェアのインストールと管理を便利にしてくれるHomebrewを利用yum
やapt-get
のOSXバージョンです。導入されていない方は、別記事を参照(後日書きます。)
brewを導入していると以下のコマンドを叩くだけでインストール可能
brew install pyenv-virtualenv
pyenv環境でPythonを使用するため、~/.bash_profile
に以下を追記
zshを使用している場合は、~/.zshrc
に記載
export PYENV_ROOT=${HOME}/.pyenv
if [ -d "${PYENV_ROOT}" ]; then
export PATH=${PYENV_ROOT}/bin:$PATH
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
fi
pyenvに加えvirtualenv環境を使用した複数バージョンの管理
pyenv virtualenv 2.7.8 study_2.7.8
pyenv versions
mkdir ~/work/study_python2
cd ~/work/study_python2
pyenv local study_2.7.8
python --version