Python Tips: virtualenv で Python のバージョンを指定したい

Pythonの virtualenv で Python のインタプリタを指定する方法をご紹介します。

方法はかんたんで、 virtualenv コマンド実行時に python オプションでパスを指定するだけです。

$ virtualenv my_env --python=/usr/bin/python2.6

問題なく環境が生成できたら、「 ...done.」で終わるメッセージが表示されるかと思います。

環境ができあがれば通常どおり仮想環境に入ることができます。

$ cd my_env
$ source bin/activate  # Linux / OS X の場合
$ Scripts\activate  # Windows の場合
$ python -V
python 2.6.8

Pythonのバージョンを調べると指定したバージョンのものになっているはずです。

そして、環境から出ると、元のシステムのPythonに戻ることも確認できます。

$ deactivate
$ python -V
python 2.7.5

以上です。

ちなみに、 virtualenvwrapper にも同様のはたらきをする --python オプションが用意されています。

$ mkvirtualenv my_env --python=/usr/bin/python2.6

virtualenv コマンドにはこの他にも便利なオプションが豊富に用意されています。たとえばこんなもの。

  • --always-copy 仮想環境のPythonインタプリタをシンボリックリンクで用意するのではなくまるごとコピーして用意する
  • --system-site-packages システムのPythonライブラリに仮想環境からアクセスできるようにする
  • --no-pip デフォルトでインストールされる pip をインストールしないようにする
  • --prompt=MYPROMPT 仮想環境に入ったときにプロンプトの先頭に付加される文字を変更する

詳しくはvirtualenvコマンドのヘルプや公式ドキュメントをご覧ください。

参考