PyCharmで環境変数を.envファイルから読み込む方法(Macの場合)


はじめに

Pythonで pipenvdotenv などを使うと project dir の .env ファイルを読み込んで環境変数を設定することができます。よくあるのは、.env ファイルを .gitignore に書いておいて commit しないようにしておくことで、環境別の動作を制御することができます。
私は PyCharm を愛用していますが、IDEからの実行時にこの .env を読み込ませる方法がわからなかったのですが、ようやく先日見つけたので書いておきます。

Version

  • MacOS 10.15.4
  • PyCharm Professional 2020.1 (Community Edition でもたぶん大丈夫だと思われます)

設定方法

流れ

まず、Run Configurationを開きます。

EnvFile のタブを開いて、 Enable EnvFile にチェックを入れます。

+ を 押して、 .env file を選びます。

これで選べば終わりでしょって思いますよね。でも、 .env のように . で始まるファイルがダイアログに表示されないんですよね… 色々適当に操作しても上手く出せる感じがしない。そこで一工夫します。

追記:2021年12月23日

コメント頂いているように Commandキー + Shiftキー + .キー を押すと、 . で始まるファイルも表示されるようになります!

一工夫(は、上記のように不要ですが残しておきます)

project_dir に symlink を作ってしまいます。

% ln -s .env dot.env

もう一度、先程のダイアログを開くと、 dot.env ファイルが増えているので選びます。

すると、無事に追加できるようになります。

ちゃんと内容も反映されます。

IDEに反映させたら、symlinkは消しても大丈夫です。

% rm dot.env

さいごに

毎度手作業で設定したり更新したりしなくてよくなるので、ストレスが減りました。
まあ、たぶんみんな不便なので、1年以内には改善されるんじゃないかと思いますが...