virtualenvは、Pythonの環境を自由に切り替えられて便利なものの、同時に複数のプロジェクトを扱っている場合など、いちいちディレクトリに移動して、source .venv/bin/activate
のようなコマンドを実行しなくてはいけなくて少し面倒。
そこで、zshでディレクトリにvirtualenvの設定が存在した場合に、自動的に環境を切り替えるように設定してみる。
zshでは、ディレクトリが変更された際に自動的にchpwd
関数が呼ばれる。これを用いて、例えば、virtualenvを格納しているディレクトリ名が.venv
の場合には下記のように設定する。
function chpwd() {
if [ -d .venv ]; then
source .venv/bin/activate
fi
}
これで、zshでディレクトリにcdするとvirtualenvを自動的に有効にすることができる。