エンドユーザのカスタマイズスクリプトは 読み込み (シェル環境を変更できる) されるか、適切な条件で外部プログラムのように 実行 されるかのどちらかです。
全ての環境に適用されるグローバルスクリプトは、 VIRTUALENVWRAPPER_HOOK_DIR で指定したディレクトリに置きます。ローカルスクリプトは virtualenv の bin ディレクトリに置きます。
グローバル/ローカル: 両方 引数: 環境名 読み込み/実行: 実行
$VIRTUALENVWRAPPER_HOOK_DIR/get_env_details は workon が引数無しで実行されるときに実行されます。そして、仮想環境のリストを表示します。仮想環境の名前が表示された後で、そのフックは環境毎に一度実行されて、その環境に関する追加情報を表示します。
グローバル/ローカル: グローバル 引数: 無し 読み込み/実行: 読み込み
あなたの環境に virtualenvwrapper.sh を読み込むときに $VIRTUALENVWRAPPER_HOOK_DIR/initialize が読み込まれます。virtualenvwrapper が有効になるときにグローバルな設定を調整するために使用してください。
グローバル/ローカル: グローバル 引数: 新しい環境名 読み込み/実行: 実行
$VIRTUALENVWRAPPER_HOOK_DIR/premkvirtualenv は仮想環境が作成された後で外部プログラムのように実行されますが、カレントの環境が新しい環境へ切り替わる前に実行されます。そのスクリプトのカレントワークディレクトリは $WORKON_HOME で、そのスクリプトへの引数として新しい環境の名前が渡されます。
グローバル/ローカル: グローバル 引数: 無し 読み込み/実行: 読み込み
$VIRTUALENVWRAPPER_HOOK_DIR/postmkvirtualenv は、新しい環境が作成されてアクティブ化された後で読み込まれます。 -a <project_path> フラグを指定された場合、このスクリプトを読み込む前にプロジェクトディレクトリへのリンクを設定します。
グローバル/ローカル: グローバル 引数: オリジナルの環境名、新しい環境名 読み込み/実行: 実行
$VIRTUALENVWRAPPER_HOOK_DIR/precpvirtualenv は元の環境が複製されて再配置可能になるときに外部プログラムのように実行されますが、 premkvirtualenv フックが実行される前、もしくはカレントの環境が新しい環境へ切り替わる前に実行されます。そのスクリプトのカレントワークディレクトリは $WORKON_HOME で、そのスクリプトへの引数として元の環境名と新しい環境名が渡されます。
グローバル/ローカル: グローバル 引数: 無し 読み込み/実行: 読み込み
$VIRTUALENVWRAPPER_HOOK_DIR/postcpvirtualenv は新しい環境が作成されてアクティブ化された後で読み込まれます。
グローバル/ローカル: グローバル、ローカル 引数: 環境名 読み込み/実行: 実行
グローバルの $VIRTUALENVWRAPPER_HOOK_DIR/preactivate スクリプトは新しい仮想環境が有効になる前に実行されます。その環境名は1番目の引数として渡されます。
ローカルの $VIRTUAL_ENV/bin/preactivate フックは新しい仮想環境が有効になる前に実行されます。その環境名は1番目の引数として渡されます。
グローバル/ローカル: グローバル、ローカル 引数: 無し 読み込み/実行: 読み込み
グローバルの $VIRTUALENVWRAPPER_HOOK_DIR/postactivate スクリプトは新しい仮想環境が有効になった後で読み込まれます。 $VIRTUAL_ENV はそのスクリプトが実行されるときに新しい環境を参照します。
このサンプルスクリプトは _OLD_VIRTUAL_PS1 を使用して仮想環境の名前と古い PS1 名前の間にスペースを追加します。
PS1="(`basename \"$VIRTUAL_ENV\"`) $_OLD_VIRTUAL_PS1"
ローカルの $VIRTUAL_ENV/bin/postactivate スクリプトは新しい仮想環境が有効になった後で読み込まれます。 $VIRTUAL_ENV はそのスクリプトが実行されるときに新しい環境を参照します。
この PyMOTW 環境のサンプルは PyMOTW に含まれるソースツリーを参照して PATH 変数とカレントワークディレクトリを変更します。
pymotw_root=/Users/dhellmann/Documents/PyMOTW
cd $pymotw_root
PATH=$pymotw_root/bin:$PATH
グローバル/ローカル: グローバル、ローカル 引数: 無し 読み込み/実行: 読み込み
ローカルの $VIRTUAL_ENV/bin/predeactivate スクリプトはカレントの仮想環境が非アクティブ化される前に読み込まれます。そして、あなたの環境の設定をクリアしたり、無効にするために使用されます。 $VIRTUAL_ENV はそのスクリプトが実行されるときに古い環境を参照します。
グローバルの $VIRTUALENVWRAPPER_HOOK_DIR/predeactivate スクリプトはカレントの仮想環境が非アクティブ化される前に読み込まれます。 $VIRTUAL_ENV はそのスクリプトが実行されるときに古い環境を参照します。
グローバル/ローカル: グローバル、ローカル 引数: 無し 読み込み/実行: 読み込み
$VIRTUAL_ENV/bin/postdeactivate スクリプトはカレントの仮想環境が非アクティブ化される前に読み込まれます。そして、あなたの環境の設定をクリアしたり、無効にするために使用されます。非アクティブ化される環境へのパスは $VIRTUALENVWRAPPER_LAST_VIRTUALENV でのみ有効です。
グローバル/ローカル: グローバル 引数: 環境名 読み込み/実行: 実行
$VIRTUALENVWRAPPER_HOOK_DIR/prermvirtualenv スクリプトは仮想環境が削除される前に外部コマンドのように実行されます。そのスクリプトへの引数としてその環境のディレクトリに対するフルパスが渡されます。
グローバル/ローカル: グローバル 引数: 環境名 読み込み/実行: 実行
$VIRTUALENVWRAPPER_HOOK_DIR/postrmvirtualenv スクリプトは仮想環境が削除された後で外部コマンドのように実行されます。そのスクリプトへの引数としてその環境のディレクトリに対するフルパスが渡されます。
グローバル/ローカル: グローバル 引数: 新しいプロジェクト名 読み込み/実行: 実行
$WORKON_HOME/premkproject は、仮想環境が作成されてカレントの環境が新しい環境を指すように切り替わった後で、外部プログラムとして実行されます。 但し、そのタイミングは新しいプロジェクトディレクトリが作成される前です。 このスクリプトのカレントのワークディレクトリは $PROJECT_HOME となり、新しいプロジェクト名がこのスクリプトの引数として渡されます。
グローバル/ローカル: グローバル 引数: 無し 読み込み/実行: 読み込み
$WORKON_HOME/postmkproject は、新しい環境とプロジェクトディレクトリが作成されて virtualenv がアクティブ化された後で読み込まれます。カレントのワークディレクトリはプロジェクトディレクトリです。