Pythonbrewを導入して複数バージョンのPythonを管理する

Rubyのrvm/rbenv, Node.jsのnodebrewのようなバージョン管理ツールPython版の導入方法です。

一時期PythonbrewからPythonzという同様のツールに乗り換えていたのですが、Pythonbrewに戻したため導入方法をまとめておきます。 戻した理由はここ(pythonbrew とか pythonz とか : 魅力は一言で)のPythonzの感想と一緒です。

Pythonbrewのインストール

  1. Pythonbrewののインストールスクリプトをダウンロード&実行します。

     $ curl -L http://xrl.us/pythonbrewinstall | sh
    

    PythonbrewやPythonbrew上のPythonは次のディレクトリ配下にインストールされます。

     ~/.pythonbrew
    
  2. 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コマンドだけでこれらが行えるのが魅力です。