#python #python-3.x #environment-variables #dotenv
Вопрос:
Я пытаюсь использовать некоторые переменные, используя:
settings.py
from dotenv import dotenv_values
config = dotenv_values("/etc/env/env_file")
Содержимое файла env_file:
TOP_MAX = 12
KEY = value
Сначала он отлично работает, загружая все переменные, но после изменения содержимого файла env во время работы проекта функции, использующие эти переменные, по-прежнему используют старые значения. Я понимаю, что после запуска проекта Python получает значения из кэшированной переменной, но я ищу любое обходное решение, если таковое имеется, для загрузки текущих значений файла env в функцию после его изменения во время работы. Извините за небрежную терминологию
Комментарии:
1. это не так, как это будет работать, такая «горячая перезагрузка» по умолчанию не поддерживается. Вам придется либо периодически повторно запускать команду:
config = dotenv_values("/etc/env/env_file")
, либо попробовать какую-либо другую библиотеку.2. Да, я знаю, что это не поддерживается по умолчанию, и поэтому спрашиваю, есть ли какой-либо известный обходной путь для этого, потому что мы не можем перезапустить проект всякий раз, когда нам нужно изменить какую-либо переменную, так есть ли какая-либо известная и надежная библиотека для этого?
3. Я также не могу установить определенный период для выполнения команды, так как функция, использующая эту функцию, может быть вызвана в любое время
4. можно ли просто использовать простые декораторы python для того же самого? просто оповестите свой метод,
@latest_props
и декоратор запустит обновление для вас?5. Извините, но не могли бы вы уточнить, пожалуйста, я не совсем уверен в том, на что вы намекаете