ディレクトリ/プロジェクトローカル環境変数を設定する良い方法はありますか?

ディレクトリ/プロジェクトローカル環境変数を設定する良い方法はありますか?

PATH私は、さまざまな環境変数(たとえば、さまざまなバージョンのclang実行可能ファイル、PYTHONPATH複数の外部モジュール)を必要とするいくつかのプロジェクトを進めてきました。プロジェクトを操作するたびに、これらの環境変数を直接変更する必要があります(例:.zshrc/.bashrcおよび変更source)。時々忘れてミスをします。

これを自動化するのに役立つ方法/プロジェクトはありますか?仮想環境Pythonではどうですか?

ベストアンサー1

特定のディレクトリの環境変数を設定するように設計された成熟したツールがあります。

この目的のために設計された他のツールと比較すると、direnvその中で最高です。主な利点の1つは、サポートすることです。削除するディレクトリを終了するときに環境変数を変更します。

direnvシェル環境スイッチャーです。 bash、zsh、tcsh、fish shell、elvishを接続してロードまたはロードする方法を知っています。削除する環境変数は現在のディレクトリによって異なります。これを通してプロジェクト別環境~/.profileファイルを乱すことなく変数をクリーンアップします。

direnv他の同様のツールとの違いは何ですか?

  • direnvGoで書かれています。急いでPythonで書かれた対応項目との比較
  • direnvサポートする削除する特定のディレクトリを終了するときに環境変数を使用する
  • direnv多くの殻で覆われている

類似プロジェクト

  • 環境モジュール- 最も古い(良い意味で)環境ローディングシステムの1つ
  • 自動環境- Lightはアンインストールをサポートしていません。 Pythonで書くと非常に遅いです。
  • zsh-autoenv- 豊富な機能を備えたautoenvとスマートCD:イベント入力/終了、ネスト、非表示(Zshのみ)。
  • ~~アスダフ~~、asdfは同じ実行可能ファイルの異なるバージョンを切り替えるためのプラグインマネージャです。まったくコンテキストスイッチャではありません。

おすすめ記事