(Python3)venvのactivateとdeactivateを自動化する
私はpyenv + pyenv-virtualenvを使わず、Homebrewで入れたPython3 + 標準ライブラリのvenvを使っているのですが、activateとdeactivateのコマンドを打つのが面倒臭いので自動化しました。
環境
macOS Sierra 10.12.3
自動化
コード例を置きますので、.zshrc(.bashrc)をいじってください。
chpwd() { if [ -d venv ]; then source venv/bin/activate elif [ "$VIRTUAL_ENV" != "" ]; then deactivate fi }
これでcd先にvenv/があればsource venv/bin/activate
、venv/がない+仮想環境を有効にしていればdeactivate
を自動で行ってくれます。
終わりに
仮想環境を作成する際には、非推奨になったpyvenv
ではなくpython3 -m venv
を使いましょう。