У меня есть проект, в котором я запускаю файл run.py из корневого каталога. В этом файле у меня есть следующий код:
dotenv.load_dotenv()
if not os.getenv("SECRET"):
logger.error(".ENV FAILURE")
exit()
else:
logger.info(".ENV SUCCESS")
do_stuff()
run.py успешно считывает данные из моего dotenv. Мой регистратор также использует dotenv и работает нормально. Программа не завершает работу и переходит к do_stuff
do_stuff() продолжает выполнять все свои действия, затрагивая несколько разных модулей. Часть этого материала представляет собой pydantic модель, что-то вроде:
class LoginForm(BaseModel):
username: str = os.getenv('USERNAME')
password: str = os.getenv('PASSWORD')
Несколько раз это работало, но теперь эти поля постоянно пусты. Кажется, что dotenv в некоторых частях программы работает нормально, но не загружается в других?
Я попробовал это, но безуспешно:
class LoginForm(BaseModel):
username: str = os.getenv('USERNAME')
password: str = os.getenv('PASSWORD')
class Settings(BaseSettings):
model_config = SettingsConfigDict(env_file='.env')
Подробнее здесь: https://stackoverflow.com/questions/784 ... ntic-model