virtualenv,pythonbrew

Last Update:2012/03/19

導入目的

  • 複数のPythonのバージョンを使い分ける。
  • インストールするライブラリもそれぞれで変えることができる。
  • OSの元々含まれるPython環境を汚さない。

virtualenv

virtualenvは既に導入されているPythonを指定すると、 そのPythonに合わせた環境を作ってくれる。VMWareなどのようにOSの仮想環境を作るわけではないが、イメージは少し近い。 更にvirtualenvwrapperはvirtualenvを簡単に管理するためのラッパー。

pythonbrew

特定のディレクトリ下に指定したバージョンのPythonをインストールしてくれる。 結構たくさんのバージョンを選べるので便利。

virtualenvのインストール

easy_install virtualenv
easy_install virtualenvwrapper

蛇足だがeasy_installはdistributeで置き換え済み。

パスを通す。bashrcに以下を追加してsourceで読みなおす。

export WORKON_HOME=$HOME/.virtualenvs
source `which virtualenvwrapper.sh`

pythonbrewのインストール

Pythonbrewのgithubは こちら . curlでインストールする。

curl -kL http://xrl.us/pythonbrewinstall | bash

パスを通す。bashrcに以下の1行を追加してsourceで読みなおす。

[[ -s $HOME/.pythonbrew/etc/bashrc ]] && source $HOME/.pythonbrew/etc/bashrc

基本的な手順

先にpythonbrewを使って使いたいバージョンを入れる。 例えば3.2.1を導入する場合は以下をシェルで実行する。 なお、pythonbrewというコマンドはpybrewでも良い。

pythonbrew install 3.2.1

これで問題なくインストールできれば、~/.pythonbrew以下にインストールされる。 ただし、Pythonのテストのエラーや環境の問題でMacはそのままだと入らないことが多い。 Xcodeに付属するllvm-gccなどの問題もある。とりあえず入れたい、という場合は–no-testオプションまたは –forceオプションをつけて実行する。

pythonbrew install --no-test install 3.2.1

とりあえずインストールを終えたら、インストールしたPythonを元にvirtualenvで環境を作る。

mkvirtualenv -p /Users/name/.pythonbrew/pythons/bin/python3.2 py32env

これでpy32envという環境が作られ、自動的にそのシェルはpy32env環境に切り替わる。 切り替わったことを確かめるためにpython -Vを実行してみる。

python -V

virtualenv環境に入る/環境から出る

workon py32env #入る
deactivate #出る

pythonbrewでインストール済み/インストールできるPythonの一覧

インストール済みのPythonの確認

pythonbrew list

インストールできるPythonの一覧

pythonbrew list -k

Pythonを切り替える

永続的に2.7.2に切り替える

pythonbrew switch 2.7.2

現在のシェルだけ2.7.2に切り替える

pythonbrew use 2.7.2

pythonbrewでインストールしたPythonのアンインストール

pythonbrewでインストールしたPythonをバージョンを指定しアンインストールする。

pythonbrew uninstall 3.2.1