IntelliJからPythonを動かすときの環境変数を.envファイルから読み込む

作成
2021-04-07

IntelliJを使ってPythonスクリプトを開発する際、環境変数を使うことがあります。

環境変数を設定する方法は色々ありますが、設定がUIが込み入ってて使いにくかったり、複数の環境変数を一度に簡単に切り替えられません。

今日はIntelliJやPycharmからPythonスクリプトを実行する際に環境変数を.envファイルから読み込んで簡単に切り替える方法を紹介します。

おさらい: Python実行時だけ環境変数を指定する方法

本題に入る前に、Pythonの実行時だけ環境変数を指定する方法を簡単に紹介します。

[Run]→[Edit Configurations]から「Run/Debug Configurations」を開きます。

もしくは、ツールバーから[Edit Configurations]を選択します。

「Environment」の「Environment Values」で変数名=値でセットします。 複数の環境変数をセットする場合は;で区切ります。

設定後、同じようにスクリプトを実行すると、指定した環境変数を設定した状態で動作します。

設定する環境変数が1つならこれだけでもいいのですが、複数設定するとファイルで管理したくなるのが人間。。。

本題: Python実行時に環境変数を.envファイルから指定する方法

複数の環境変数を.envファイルから指定するには、EnvFile という拡張機能をインストールします。

拡張機能をインストール後、「Edit Configuration」を開くと「EnvFile」というタブが現れます。

このファイルリストに設定するファイルの.envファイルを指定します。

[OK]を押して実行すると、その環境変数を読み込んで実行します。
ちなみに設定した.envファイルは以下。

environment=production

実行すると環境変数がproductionとして出力されます。

補足

「おさらい」で指定した環境変数や、他の.envファイルとの読み込み順もドラッグアンドドロップできます。