仮想環境¶
仮想環境は、異なるプロジェクトで必要とされる依存関係を別々の場所に保持するためのツールです。仮想環境は、それらのための仮想的なPython環境を作成することによって実現されます。 「Project Xはバージョン1.xに依存しますが、Project Yは4.xが必要です」というジレンマを解決し、グローバルなサイトパッケージディレクトリをきれいに管理します。
例えば、Django 1.10を必要とするプロジェクトで作業し、Django 1.8を必要とするプロジェクトを維持することもできます。
virtualenv¶
virtualenv は独立したPython環境を作るためのツールです。 virtualenvは、Pythonプロジェクトが必要とするパッケージを使用するために必要なすべての実行可能ファイルを含むフォルダを作成します。
pip経由でvirtualenvをインストールします:
$ pip install virtualenv
基本的な使用法¶
1.プロジェクトの仮想環境を作成します。
$ cd my_project_folder
$ virtualenv venv
virtualenv venv
は現在のディレクトリにPythonの実行可能ファイルを含むフォルダを作成し、他のパッケージをインストールするために pip
ライブラリのコピーを作成します。 仮想環境の名前(この場合、 venv
)は何でもかまいません。 名前を省略すると、カレントディレクトリにファイルが配置されます。
これにより、コマンドを実行したディレクトリの中にPythonのコピーが作成され、venv
という名前のフォルダに置かれます。
Pythonインタプリタ( python2.7
など)を使用することもできます。
$ virtualenv -p /usr/bin/python2.7 venv
または ~/.bashrc
のenv変数でインタプリタをグローバルに変更してください:
$ export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python2.7
2.仮想環境の使用を開始するには、仮想環境をアクティブにする必要があります。
$ source venv/bin/activate
現在の仮想環境の名前がプロンプトの左側に表示されます(例えば (venv)Your-Computer:your_project UserName $)
)。 これからpipを使ってインストールしたパッケージは、グローバルなPythonインストールから隔離された venv
フォルダに置かれます。
パッケージを通常どおりにインストールします。例:
$ pip install requests
3.仮想環境で作業が完了した場合は、仮想環境を非アクティブにすることができます。
$ deactivate
これにより、インストールされているすべてのライブラリを持つ、システムのデフォルトのPythonインタプリタに戻ります。
仮想環境を削除するには、そのフォルダを削除するだけです。 (この場合、 rm -rf venv
となります。)
しかし、しばらくすると、システム全体に散在する多くの仮想環境に陥る可能性があり、名前や場所などを忘れる可能性があります。
その他の注意事項¶
--no-site-packages
オプションで virtualenv
を実行すると、グローバルにインストールされたパッケージは含まれません。 後でアクセスする必要がある場合に備えてパッケージリストをきれいに保つのに便利です。 [これは1.7以降の virtualenv
のデフォルト動作です。]
環境の一貫性を保つために、環境パッケージの現在の状態を「フリーズ」することは良い考えです。 これを行うには、
$ pip freeze > requirements.txt
これにより requirements.txt
ファイルが作成されます。このファイルには、現在の環境内のすべてのパッケージとそれぞれのバージョンの単純なリストが含まれています。 “pip list”を使用して、インストールされたパッケージのリストを要件書式なしで見ることができます。 後で同じバージョンを使用して同じパッケージをインストールするために、別の開発者(または環境を再作成する必要がある場合)が簡単になります。
$ pip install -r requirements.txt
これにより、インストール全体、展開全体、および開発者間の一貫性を確保できます。
最後に、ignoreリストに仮想環境フォルダを追加することによって、仮想環境フォルダをソース管理から除外することを忘れないでください。
virtualenvwrapper¶
virtualenvwrapper は、仮想環境での作業をはるかに楽にする一連のコマンドを提供します。 また、すべての仮想環境を1か所に配置します。
インストールするには(virtualenv が既にインストールされていることを確認してください):
$ pip install virtualenvwrapper
$ export WORKON_HOME=~/Envs
$ source /usr/local/bin/virtualenvwrapper.sh
(Full virtualenvwrapperのインストール手順.)
Windowsの場合、 virtualenvwrapper-win を使うことができます。
インストールするには(virtualenv が既にインストールされていることを確認してください):
$ pip install virtualenvwrapper-win
Windowsでは、WORKON_HOME のデフォルトパスは %USERPROFILE%Envs です。
基本的な使用法¶
1.仮想環境を作成します。
$ mkvirtualenv venv
これは ~/Envs
の中に venv
フォルダを作成します。
2.仮想環境での作業:
$ workon venv
あるいは、仮想環境を作成するプロジェクトを作ることもできますし、 $PROJECT_HOME
の中にプロジェクトディレクトリを作ることもできます。これは workon myproject
を実行するときに cd
されます。
$ mkproject myproject
virtualenvwrapper は環境名にタブ補完を提供します。 多くの環境があり、名前を覚えていないときには本当に役に立ちます。
workon
は現在の環境を無効にするので、すばやく環境を切り替えることができます。
3.非アクティブ化はまだ同じです:
$ deactivate
4.削除するには:
$ rmvirtualenv venv
その他の便利なコマンド¶
lsvirtualenv
- すべての環境をリストします。
cdvirtualenv
- 現在アクティブ化されている仮想環境のディレクトリに移動します。たとえば
site-packages
を参照できます。
cdsitepackages
- 上記と同様ですが、
site-packages
ディレクトリに直接入ります。
lssitepackages
site-packages
ディレクトリの内容を表示します。
virtualenv-burrito¶
virtualenv-burrito を使うと、単一のコマンドでvirtualenv + virtualenvwrapper環境を利用することができます。