pyenv を使えば複数のバージョンのPythonを管理することができます。
それとディレクトリ単位でPython環境の切り替えができる pyenv-virtualenv も入れます。
環境
Mac OS X 10.9.4
インストールする
$ brew install pyenv pyenv-virtualenv
pyenvの設定
# ~/.zshrc or ~/.bashrc export PYENV_ROOT="${HOME}/.pyenv" if [ -d "${PYENV_ROOT}" ]; then export PATH=${PYENV_ROOT}/bin:$PATH eval "$(pyenv init -)" fi
$ source ~/.zshrc
pyenv-pip-rehashのインストール
pyenv rehashを自動化してくれます。
$ git clone https://github.com/yyuu/pyenv-pip-rehash.git ~/.pyenv/plugins/pyenv-pip-rehash
使い方
# インストール可能なバージョン一覧を表示する $ pyenv install -l # Pythonをインストールする $ pyenv install 2.7.8 # インストールされたバージョンを確認する $ pyenv versions # 全体のバージョンを切り替える $ pyenv global 2.7.8 # 特定のディレクトリ配下のみバージョンを切り替える $ pyenv local 2.7.8 # インストールされたバージョンを削除する $ pyenv uninstall 2.7.8
pyenv-virtualenvの使い方
# project-aプロジェクトを用意する。 $ mkdir project-a; cd project-a # project-aという名前で環境を作成する。 [project-a]$ pyenv virtualenv --distribute 2.7.8 project-a # project-aプロジェクトでproject-a環境を使うようにする。 [project-a]$ pyenv local project-a # project-bプロジェクトを用意する。 $ mkdir project-b; cd project-b # project-bという名前で環境を作成する。 [project-b]$ pyenv virtualenv --distribute 2.7.8 project-b # project-bプロジェクトでproject-b環境を使うようにする。 [project-b]$ pyenv local project-b # simplejsonをインストールする。 [project-b]$ pip install simplejson $ pyenv versions system * 2.7.8 (set by /Users/username/.pyenv/version) 3.4.1 project-a # 追加した環境も他のバージョンと同じように表示される。 project-b [project-a]$ pip list pip (1.5.6) setuptools (5.7) wsgiref (0.1.2) [project-b]$ pip list pip (1.5.6) setuptools (5.7) simplejson (3.6.3) wsgiref (0.1.2)
project-bにだけsimplejsonがインストールされています。
これでプロジェクト間で環境を分けて開発することができますね!