Pythonでvirtualenvの使う方法

概要

virtualenvPythonの仮想環境を作るためのライブラリです。 virtualenvを使えば、プロジェクト毎に仮想環境を作成し各環境にライブラリをインストールすることが出来るので、ライブラリの依存関係がごちゃごちゃになるのを回避出来ます。

virtualenvをより便利に使うためのライブラリとして、virtualenvwrapperが有名ですが、この記事ではvirtualenvwrapperについては触れずに、virtualenvの使い方について記載します。

インストール方法

pip経由でインストール出来ます。

$ pip install virtualenv

virtualenvで仮想環境構築

クリーンな仮想環境を作る場合。

$ virtualenv [env_name]

グローバルのsite-packagesにインストール済みのモジュールを引き継いで仮想環境を作る場合。

$ virtualenv [env_name] --system-site-packages

補足

--system-site-packagesオプションをつけるとグローバルのsite-packagesにインストール済のモジュールを引き継ぎます。 ちなみに、昔のvirtualenvでは、この動作がデフォルトだったので、グローバルのsite-packagesを引き継ぎたくない場合は—no-site-packagesというオプションを付けていたようです。 最近のvirtualenvではデフォルトが--no-site-packages相当の動作になっているので--no-site-packagesは非推奨(というか不要)です。

virtualenvで仮想環境切り替え

仮想環境を有効化する。

$ source [env_name]/bin/activate

仮想環境の切り替えが正常に動作しているか確認する。

$ which python
/Users/***/[evn_name]/bin/python

みたいな感じで、virtualenvで作成した仮想環境内のpythonを参照していればok.

仮想環境を無効化するには以下のコマンドを入力する。

$ deactivate

virtualenvの仮想環境内にpip経由でライブラリをインストール

仮想環境を有効化した状態で、pip経由でインストールすれば、仮想環境内にのみライブラリがインストールされます。

$ source [env_name]/bin/activate
$ pip install [lib_name]

次に、仮想環境内にインストールされていることの確認してみる。

$ pip list
・・・(インストールしたモジュールが表示される)

ここで一旦、仮想環境を無効化して・・・

$ deactivate

再度、インストール済みモジュールを確認

$ pip list
・・・(仮想環境上に導入したモジュールは表示されないはず)

以上です。