Python の venv 環境を direnv で自動的に有効/無効化する
Python で venv 環境を作成した際、該当ディレクトリに移動する毎に source venv/bin/activate
する必要があります。 direnv を使うことでこれを自動化することが出来ます。 direnv は現時点で Release v2.31.0 が最新ですがバイナリが登録されていない為、今回は Release v2.30.3 を利用します。 尚、今回は Ubuntu 20.04LTS 上でテストしました。
direnv のインストール¶
github からインストールします。 上述の通り、今回は v2.30.3 をインストールします。
1 2 |
|
bash を利用している場合、~/.bashrc
に下記を追記しておきます。 direnv から設定ファイルを修正する際に利用するエディタ (EDITOR) も定義しておきます。
1 2 3 4 |
|
Python3 のインストール¶
Python3 をインストールしておきます。 必要に応じて update-alternatives
します。
1 2 |
|
venv 環境を作成する¶
venv 環境を作成した後、同じディレクトリに .envrc
というファイルを作成し、「このディレクトリへ移動した際に実行したいコマンド」を記載しておきます。 direnv を有効化しておく為に direnv allow
を実行します。
1 2 3 4 5 |
|
もしくは direnv edit .
で .envrc
を作成することも出来ます。 この場合は direnv allow
を実行する必要はありません。
direnv を実行する¶
direnv は明示的に実行する必要はありません。 適切に Hook 設定されており、設定ファイルが用意されていれば以下のように「該当ディレクトリへ移動した際は venv を有効化」、「別のディレクトリへ移動した際は venv を無効化」してくれます。
1 2 3 4 5 |
|