LoginSignup
4
2

More than 3 years have passed since last update.

Python の開発環境問題には direnv が最高だった件

Posted at

よくある悩み

  • 「Python で開発するけどローカル環境汚したくないんだよなー」
  • 「Python コンテナ立てて VSCode でアタッチしてもいいけど拡張機能の管理がめんどいなー」
  • 仁義なき virtualenv vs pipenv vs venv 派閥争い

そんなあなたに direnv

https://github.com/direnv/direnv

一言でいうと、ディレクトリ毎に環境を分けるもの

つまり何 ??

venv と組み合わせると、direnv を有効化したディレクトリに移動しただけで venv を activate することが可能

また、環境変数も同様に自動でセットすることが可能

使い方

インストール

Mac の場合は brew install direnv 、Windows は知らん

設定

~/.zshrc に追記

$EDITOR で指定するのは自分の好きなやつ

export EDITOR=/usr/local/bin/nvim
eval "$(direnv hook zsh)"

有効化 target_dir でやってみる

mkdir target_dir
cd target_dir
python -m venv venv
echo "source venv/bin/activate" > .envrc
direnv allow
  • direnv はディレクトリに移動した際に自動で .envrc を読み込む

  • .envrc の編集は direnv edit でやってもいいし、直接編集してから direnv allow で有効かしてもいい

  • export HOGE=hoge と記述しておくと、そのディレクトリ配下にいる間だけその環境変数が有効化される

設定完了!! 👌

これで target_dir に移動すると、勝手に venv が有効化するゾ!!

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2