pyenvを利用したPythonのインストールおよびバージョン切り替えの方法。
標準インストールのものやbrewでインストールされたものがあっても、原則問題無く共存(切り替え)可能です。
##pyenvのセットアップ
###インストール
インストールはbrewでできるのでbrewで。
brew install pyenv
###環境変数の設定
環境変数を設定。全てのPATHに優先して~/.pyenvを見るようになっていればOK(/usr/binや/usr/local/binになっていると既存のPythonが優先されてしまいます)。
export PYENV_ROOT="${HOME}/.pyenv"
export PATH=${PYENV_ROOT}/bin:$PATH
eval "$(pyenv init -)"
変数を反映します。
source .bash_profile
##使ってみる
###インストール可能なバージョンのチェック
pyenvで設定可能なバージョン一覧を見てみます。
pyenv install -l
###特定バージョンのインストール
お好みのバージョンをインストールします。私は、計算系で使うことが多いのでanacondaの2.x系をインストールします。
pyenv install anaconda-2.4.0
###インストールされた(利用可能な)バージョンの確認
インストールされたバージョン一覧を得ます。なお、この状態ではまだ利用できる状態にはなっていません(PATHが通っていません)。
pyenv versions
###利用バージョンの設定
実際に指定のバージョンを利用するためにはglobalコマンドでバージョンを指定します。
pyenv global anaconda-2.4.0
なお、特定のディレクトリのみで適用したい場合はlocalというオプションもあります。
localを利用することで、作業ディレクトリ以下に.python-versionが作成され、バージョンが設定され、その設定がglobalより優先される。
###Shimsの更新
バージョン等を変更したら、正しく動作させるために諸々の情報を更新します。
pyenv rehash
なお、この操作は、brew install pyenv-pip-rehashをインストールすることで自動化できるようです。
インストール時はbrew install homebrew/boneyard/pyenv-pip-rehashとする必要があるようです。
###元々のものを使う
元々のものはsystemとして扱われる。
pyenv versions
* system (set by /Users/user/.pyenv/version)
anaconda-2.4.0
となっているようなので、
pyenv global system
とすればよいようです(ただ、whichをしても/usr/bin等にはならない模様)。
##その他
当然ですが、pipでのインストール、管理も各バージョン毎に行われるようです。