インストール

サポートシェル

virtualenvwrapper は Bourne シェル互換の構文をもつ一連のシェル 関数 です。Mac OS X と Linux 環境の、次のシェルで自動テストを行っています。

  • bash
  • ksh
  • zsh

その他のシェルでも動作するかもしれません。ここに記載されていないシェルで動作するのを発見したら私に教えてください。また、その他のシェルでも動作するように virtualenvwrapper を全く違うものに書き換えずに修正できるなら、 bitbucket のプロジェクトページ から pull リクエストを送ってください。あなたが非互換なシェル上で動作させるクローンを作成するなら、このページでリンクを張るので私に連絡してください。

MSYS

Python を Windows ネイティブにインストールした MSYS 環境でも virtualenvwrapper が使えます。そのためには、インストールした MSYS 環境へのルートパスを MSYS_HOME という環境変数で定義する必要があります。

export WORKON_HOME=$HOME/.virtualenvs
export MSYS_HOME=/c/msys/1.0
source /usr/local/bin/virtualenvwrapper.sh

または:

export WORKON_HOME=$HOME/.virtualenvs
export MSYS_HOME=C:\msys\1.0
source /usr/local/bin/virtualenvwrapper.sh

MSYS の設定によります。 MSYS_HOME/bin フォルダーに MSYS mktemp binary をインストールする必要があるかもしれません。

PowerShell

Guillermo López-Anglada は、Microsoft の PowerShell 環境で実行できるように virtualenvwrapper を移植しました。それは他の拡張機能と互換性がなく、(機能拡張というよりは) 大幅な再実装であることから、別に配布するようにしました。 virtualenvwrapper-powershell は、PyPI からダウンロードできます。

Python バージョン

virtualenvwrapper は Python 2.4 - 2.7 でテストされています。

基本的なインストール

virtualenvwrapper は、virtualenv がインストールされているグローバルな site-packages ディレクトリと同じところにインストールする必要があります。それを行うには、管理者特権が必要になるかもしれません。最も簡単なインストール方法は pip を使うことです。

$ pip install virtualenvwrapper

または:

$ sudo pip install virtualenvwrapper

Warning

virtualenv を使うと、たくさんの独立した Python 環境を作成できます。システム環境に依存する全ての Python 環境から同じパッケージを共有できるように、システムにインストールされている Python (virtualenv がアクティブではない) に virtualenv と virtualenvwrapper の2つだけはインストールする必要があります。

グローバルの site-packages ディレクトリにインストールする代わりに ユーザーのローカルディレクトリ (普通は ~/.local) にインストールできます。

$ pip install --install-option="--user" virtualenvwrapper

シェルの起動ファイル

シェルの起動ファイル (.bashrc, .profile など) に、仮想環境を構築する場所、開発中のプロジェクトディレクトリの場所、virtualenvwrapper がインストールしたシェルスクリプトの場所の3行を追加してください。

export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/Devel
source /usr/local/bin/virtualenvwrapper.sh

編集後に起動ファイルを再読み込みしてください (例えば source ~/.bashrc を実行する) 。

クイックスタート

  1. workon を実行する
  2. 仮想環境のリストが表示されるか、何も表示されない
  3. mkvirtualenv temp を実行する
  4. 新たな仮想環境 temp が作成されてアクティブ化される
  5. workon を実行する
  6. このときに temp の仮想環境が提供される

設定

virtualenvwrapper は、環境変数を変更することでカスタマイズできます。 virtualenvwrapper.sh が読み込まれる 前の シェルの起動ファイルで環境変数を設定してください。

仮想環境の場所

環境変数 WORKON_HOME は、virtualenvwrapper が使う仮想環境の場所を指定します。デフォルト設定は $HOME/.virtualenvs です。virtualenvwrapper が読み込まれたときにそのディレクトリが存在しない場合は、自動的に作成されます。

プロジェクトディレクトリの場所

環境変数 PROJECT_HOME は、virtualenvwrapper が使うプロジェクトのワークディレクトリの場所を指定します。この環境変数は mkproject を利用する前に設定して、そのディレクトリを作成しておく必要があります。

プロジェクトのリンクファイル名

環境変数 VIRTUALENVWRAPPER_PROJECT_FILENAME は、virtualenvwrapper が使う、プロジェクトのワークディレクトリに対して virtualenv をリンクするファイル名を指定します。

フックスクリプトの場所

環境変数 VIRTUALENVWRAPPER_HOOK_DIR は、virtualenvwrapper が使う ユーザー定義のフック が保存される場所を指定します。デフォルト設定 $WORKON_HOME です。

フックログの場所

環境変数 VIRTUALENVWRAPPER_LOG_DIR は、virtualenvwrapper のフックローダーが書き込むログの場所を指定します。デフォルト設定 $WORKON_HOME です。

Python インタープリターと virtualenv と $PATH

起動ファイルの読み込み時に virtualenvwrapper.sh は、最初に $PATH 上の pythonvirtualenv を見つけて、後で使うためにその情報を覚えておきます。これは virtualenvwrapper がインストールされていない、または別のバージョンの virtualenv がインストールされた仮想環境内部でインタープリタを有効にしていながら $PATH 変更による競合が起こらないようにします。この動作の理由は virtualenvwrapper.sh を source する 前に 設定された $PATH が重要だからです。

例えば:

export PATH=/usr/local/bin:$PATH
source /usr/local/bin/virtualenvwrapper.sh

$PATH の探索を上書きするには、 利用するインタープリターのフルパスを指定した VIRTUALENVWRAPPER_PYTHON と、 利用する virtualenv バイナリ指定した VIRTUALENVWRAPPER_VIRTUALENV のフルパスを設定してください。 両方の環境変数は virtualenvwrapper.sh が source される前に 設定する必要があります

例えば:

export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh

virtualenv のデフォルト引数

VIRTUALENVWRAPPER_VIRTUALENV で指定されたアプリケーションが引数を取るなら、その引数を VIRTUALENVWRAPPER_VIRTUALENV_ARGS に設定できます。この環境変数は virtualenv に渡すデフォルト引数を設定するのにも使えます。例えば、システムの site-packages ディレクトリと独立した仮想環境を毎回新たに作成するには、 --no-site-packages をその値として設定します。

export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'

一時ファイル

virtualenvwrapper は $TMPDIR に一時ファイルを作成します。その環境変数がセットされていない場合は /tmp を使用します。virtualenvwrapper 向けだけの一時ファイルの作成場所を変更するには VIRTUALENVWRAPPER_TMPDIR をセットしてください。

サイト全体の設定

ほとんどの UNIX システムは、全てのユーザーに設定を適用する機能を提供します。これは典型的に2つの方法のいずれかを取ります。新しいアカウントの作成時の skeleton ファイルを編集するか、シェルのグローバルな起動ファイルを編集するかです。

新しいアカウントの作成時にスケルトンファイルを編集する方法は、各ユーザーが virtualenvwrapper を読み込むようにあらかじめ設定された自分たちの起動ファイルをもちます。各ユーザーは、起動ファイルの該当行をコメントアウトしたり、削除することで設定を無効にできます。編集する必要のある適切なファイルを把握するには、オペレーティングシステム、またはシェルのドキュメントを参照してください。

特定シェルのグローバルの起動ファイルを変更する方法は、そのシェルの全ユーザーに対して virtualenvwrapper が有効となり、各ユーザーが無効にすることはできません。編集する必要のある適切なファイルを把握するには、オペレーティングシステム、またはシェルのドキュメントを参照してください。

2.9 へのアップグレード

バージョン 2.9 は、それまで別で配布していた virtualenvwrapper.project の機能を提供します。そのプロジェクト拡張の古いバージョンをインストールしているなら、アップグレード前にそれらを削除してください。

1.x からのアップグレード

ラッパー関数を含むシェルスクリプトは 2.x バージョンで bash 以外のシェルをサポートするためにその名前が変更されました。あなたの起動ファイルの source /usr/local/bin/virtualenvwrapper_bashrcsource /usr/local/bin/virtualenvwrapper.sh へ変更してください。