Pythonbrewを導入して複数バージョンのPythonを管理する
Rubyのrvm/rbenv, Node.jsのnodebrewのようなバージョン管理ツールのPython版の導入方法です。
一時期PythonbrewからPythonzという同様のツールに乗り換えていたのですが、Pythonbrewに戻したため導入方法をまとめておきます。 戻した理由はここ(pythonbrew とか pythonz とか : 魅力は一言で)のPythonzの感想と一緒です。
Pythonbrewのインストール
Pythonbrewののインストールスクリプトをダウンロード&実行します。
$ curl -L http://xrl.us/pythonbrewinstall | sh
PythonbrewやPythonbrew上のPythonは次のディレクトリ配下にインストールされます。
~/.pythonbrew
Pythonbrewをシェルに設定します。
bashの場合、
~/.bashrc
を開いて次のコマンドを追記してターミナルを再起動するか~/.bashrc
を再読み込みします。[[ -s "$HOME/.pythonbrew/etc/bashrc" ]] && source "$HOME/.pythonbrew/etc/bashrc"
このコマンドはPythonbrewをインストールすると表示されるのでコピペすれば良いです。
Please add the following line to the end of your ~/.bashrc [[ -s "$HOME/.pythonbrew/etc/bashrc" ]] && source "$HOME/.pythonbrew/etc/bashrc"
Pythonbrew上でのPythonのインストール
複数バージョンのPythonのインストール
複数のPythonをインストールして簡単にバージョンを切り替える事が可能です。以下のコマンドの様に使用したいバージョンを指定してインストールします。
$ pythonbrew install 2.7.3
$ pythonbrew install 3.3.0
インストール可能なバージョンは以下のコマンドで探します。
$ pythonbrew list -k
Pythonのバージョンの切替
標準で使用するPythonのバージョンをswitchオプションを使って指定します。
$ pythonbrew switch 2.7.3
一時的に特定のバージョンを使いたい場合はuseオプションを使います。現在のシェルの中でのみ有効です。
$ pytonbrew use
システムのPythonに戻したい場合
Pythonbrew上のPythonでなくシステムのPythonに戻すこともできます。
$ pythonbrew off
仮想環境の作成
Pythonbrewではアプリケーションごとに仮想環境(project)を作る事ができます。
科学計算ならscienceという名前の仮想環境を作成してnumpyやscipyといったパッケージをインストールしたり、Webアプリケーションならばwebという名前の仮想環境を作成して、flaskをインストールしたりします。アプリ単位で仮想環境を作ってもよいです。仮想環境単位でコピーや削除が行えるのでポータビリティが向上します。
Pythonbrewではこのためにvirtualenv/virtualenvwrapperを用いていますが、pythonbrewコマンドから操作を行えうことができ、個別にツールをインストールする必要もありません。
Pythonbrewでの仮想環境の初期設定
仮想環境作成に必要なツールをダウンロードします。
$ pythonbrew venv init
仮想環境の作成
$ pythonbrew venv create [仮想環境名]
作成した仮想環境一覧の表示
これまでに作成した仮想環境を一覧表示できます。仮想環境はPythonのバージョンごとに作成されます。
$ pythonbrew venv list
Python-2.7.3
web
science
Python-3.3.0
test
仮想環境を使う/切り替える
$ pythonbrew venv use [仮想環境名]
あとは、pipなどで仮想環境な必要なパッケージをインストールします。詳しい説明は省略しますが、pythonbrewではbuildoutというコマンドが用意されており、buildoutというツールを使って必要なパッケージをまとめてインストールすることも可能です。
仮想環境の削除
不要になった仮想環境は簡単に削除できます。
$ pythonbrew venv delete [仮想環境名]
仮想環境の名前変更
名前を間違えて付けてしまった場合は変更することができます。
$ pythonbrew venv renave [旧仮想環境名] [新仮想環境名]
まとめ
pythonbrewを使えば初心者でも簡単に複数バージョンのPyhtonの切り替えや仮想環境の作成を行う事ができます。pythonbrewコマンドだけでこれらが行えるのが魅力です。