direnvでpyenvやpipenvを使う
direnvはディレクトリごとに環境を分けるためのユーティリティ。小気味よい感触があって気に入って使っている。
環境変数を設定するツールだと思っていたが、Pythonのいくつかのユーティリティにも対応していた。 v2.21.0
以降では Python 標準ライブラリの venv
モジュール、pyenv
や pipenv
などに対応している。
Python · direnv/direnv Wiki · GitHub
例えば、 pyenv
でインストールした Python 3.8.6のランタイムを使用するには .evnrc
に次のように書く。
layout pyenv 3.8.6
pipenv
も同様に使用できる。 .envrc
に次のように書くと Pipfile
の内容が自動的に読み込まれる。
layout pipenv
direnv によって作成された Python 仮想環境は .direnv
ディレクトリ以下に構築される。ディレクトリに cd すると自動的に activate
されて、ディレクトリの外に出ると deactivate
される。べんり。