virtualenvwrapper のフックスクリプト

http://www.doughellmann.com/docs/virtualenvwrapper/hooks.html を自分のために直訳だ!
意味がなんとなくわかるくらいのざっくり加減で。


virtualenvwrapper は仮想環境の作成、削除、移動時において、セッティングやシェル環境、その他の設定値を変更できるよう、いくつかのフックポイントを持つ。
これらは適切なトリガーのタイミングで(シェル環境を変更できるように)コマンド実行されたり、外部プログラムとして実行される。

環境ごとのフック

postactivate

$VIRTUAL_ENV/bin/postactivate スクリプトは、新しい環境が起動された後に実行される。
$VIRTUAL_ENV はスクリプトが実行された時点の新しい環境を参照する。


次の PyMOTW 環境用のスクリプトの例は、カレントワーキングディレクトリと PATH 変数を、PyMOTW のソースを含んだソースツリーを参照するように変更するものだ。

pymotw_root=/Users/dhellmann/Documents/PyMOTW
cd $pymotw_root
PATH=$pymotw_root/bin:$PATH
predeactivate

$VIRTUAL_ENV/bin/predeactivate スクリプトは、現在の環境が deactivate される前に実行され、その環境の設定を無効にしたりクリアするために利用することができる。
$VIRTUAL_ENV はスクリプトが実行された時点の古い環境を参照する。

グローバルなフック

postactivate

グローバルな $WORKON_HOME/postactivate スクリプトは、新しい環境が起動し、postactivate が(存在すれば)実行された後に実行される。
$VIRTUAL_ENV はスクリプトが実行された時点の新しい環境を参照する。


次の例は、_OLD_VIRTUAL_PS1 を使って、仮想環境名と古い PS1 の間に空白を追加するスクリプトだ。

PS1="(`basename \"$VIRTUAL_ENV\"`) $_OLD_VIRTUAL_PS1"
premkvirtualenv

$WORKON_HOME/premkvirtualenv スクリプトは、新しい環境が新規作成された後、現在の環境が新しい環境に切り替わる前に、外部プログラムとして実行される。
スクリプトのカレントワーキングディレクトリは $WORKON_HOME で、スクリプトの引数として新しい環境名が渡される。

postmkvirtualenv

$WORKON_HOME/postmkvirtualenv スクリプトは、新しい環境が新規作成され、起動された後に実行される。

prermvirtualenv

$WORKON_HOME/prermvirtualenv スクリプトは、対象の環境が削除される前に、外部プログラムとして実行される。
スクリプトの引数として、削除対象環境のディレクトリのフルパスが渡される。

postrmvirtualenv

$WORKON_HOME/postrmvirtualenv スクリプトは、対象の環境が削除された後に、外部プログラムとして実行される。
スクリプトの引数として、削除対象環境のディレクトリのフルパスが渡される。