とても迷ったのでメモしておきます。
状況
メインディレクトリ
├── .env
├── .gitignore
├── README.md
├── requirements.txt
├── directory1
│ ├── app.py
│ └── .env
└── directory2
こんな感じで、.envが複数ありました。
これは、書籍に従って写経していたため。
章ごとにフォルダを分けていた関係で、.envがたくさんできていた状態。
かつ、最初はメインディレクトリで操作をしていたので、メインディレクトリにも.envファイルが。
この状態で、directory1のapp.pyを実行しようとすると、メインディレクトリの.envが動いていて、エラーが出ていた。
#app.pyの中身の例
import os
from dotenv import load_dotenv
load_dotenv('/Users/user/Desktop/directory1/.env')
#実行コードの例
(myenv) user@user-Mac % python /Users/user/Desktop/directory1/app.py
カレントディレクトリをかえたらうまく動いた
cd /Users/user/Desktop/Project/directory1
(myenv) user@user-Mac directory1 % python app.py
コードで直接パスを指定しているのだから問題ないと思いこんでいました。
なんかよくわかっていない理由がありそうだけれど、とりあえず、解決できたのでヨシ!