2013/08/15

ライブラリ:virtualenv

Pythonのライブラリ「virtualenv」についてご紹介します。

「virtualenv」は独立したPython環境を手軽に構築できるようにしてくれるツールです。コマンドラインから使うタイプのものとなります。

たとえば
  • 複数のPython環境を作って、手軽に切り替えて使いたいとき
  • 一時的に利用する使い捨ての環境を作りたいとき
なんかに便利です。

具体的には、「Pythonを動かすのに必要なセットを任意のディレクトリに作る」ということをコマンドひとつでやってくれます。

一度馴染めば、使うコマンド・オプションはごくわずかだしシンプルなツールなのですが、一見、ちょっとややこしいものに見えるかもしれません。

以下、ざっとシンプルに、使い方を見ていきたいと思います。まずはインストールから。

virtualenvのインストール

pipが入っていれば、コマンドから次のように打てば入ってくれます。
pip install virtualenv

コマンドラインから次のように入力してヘルプが表示されればインストールは成功です。
virtualenv

インストールは確かにできているのにvirtualenvコマンドが使えない、といった場合にはパスが通っていない可能性が高いので、Windowsの場合はPythonディレクトリ内の「Scripts」にパスを通しましょう。

pipやeasy_installが入っていない、あるいは使えない、といった場合には、pypiのvirtualenvのページからtar.gz一式をダウンロードしてきましょう。その中にある「virtualenv.py」を取り出してこれば、これ単体で使うことが可能です(レンタルサーバなんかで使う場合はこちらになるかと思います)。

独立環境の作成

実際にvirtualenvを使ってみましょう。適当なディレクトリに行き、次のコマンドを実行します。
virtualenv myenv

すると、カレントディレクトリに「myenv」というディレクトリが作られ、その中にPython環境一式が入れられます。「myenv」の部分は任意の名前を入力します。

上述の「virtualenv.pyを単体で使う場合」では、次のようにするとよいかと思います。
python virtualenv.py myenv

独立環境の利用

つづいて、作成した独立環境を利用する方法についてです。まずは独立環境のディレクトリに移動します。
cd myenv

次に、独立環境に切り替えます。Linuxなら次のように、
source bin/activate
Windowsなら次のようにコマンド入力します。
Scripts\activate

シェル(コマンドプロンプト)の先頭が
(myenv) ...
に切り替わったら、無事その環境に入れた証拠です。

この状態でPythonスクリプトをコマンドラインから実行すると、作成した環境の中で走らせることができます。

Linux系の環境の場合は、シバン(Shebang)で独立環境のpython.exeを指定すると、都度都度コマンドを打たなくても、その環境を使うことが可能です。

which python
もしwhichコマンドが使えるなら、whichコマンドで確認してみるのもよいかと思います。独立環境内のpython.exeが呼ばれていることが確かめられます。

独立環境から元に戻る

独立環境からぬけるには、コマンドで次のように打ち込みます。
deactivate

独立環境でのpipの利用

virtualenvが特に有効なのは、pipなどを使ってライブラリ・パッケージを出し入れするときかと思います。

virtualenvでは、setuptoolsとpipとが自動でインストールされるので、最初から使うことができます。ただ、setuptoolsは更新が止まっているので、setuptoolsに代わるdistributeを使うのがよいかと思います。setuptoolsの代わりにdistributeを入れるには、virtualenvコマンドに「--distribute」オプションをつけます。
virtualenv --distribute myenv2 && cd myenv2

あとは「Scripts\activate」で環境を切り替えてから「pip freeze」とすると、その環境の中のパッケージ一覧を確認することができます。
Scripts\activate
pip freeze

他のPCと環境を合わせたいときなんかには、コピー元の環境で
pip freeze > packages.txt
としてパッケージ一覧を作成しておき、コピー先で次のようにすると、同じパッケージ群をまとめてインストールすることができます。
pip install -r packages.txt

独立環境の削除

使い終わって用がなくなったら、最初にvirtualenvで作られたディレクトリごと削除すれば完了です。ここも、かんたん・便利です。


以上です。

virtualenvの使い勝手をさらによくするvirtualenvwrappervirtualenv-burritoといったツールなんかもあるようです。これらはWindowsではすぐには使えなかったり、私の場合はvirtualenvで間に合っていたりするので私は使っていませんが、virtualenvを使いたおすような方はこれらの利用も検討してみるとよいかもしれません。


参考
virtualenv - PyPI
2009年版Python開発環境を整えよう
1分でpython環境を整える方法 - mojavy.com

0 件のコメント: