Как @Strom говорит, что мое оригинальное решение не так уж плохо.Закончилось ли это доработкой, как описано ниже.
Сначала давайте установим python-dotenv
conda install -c conda-forge python-dotenv -n my-environment-name
Затем создайте файл env.example
в корне со значениями, которые нужны вашему пользователю
GITHUB_ACCESS_TOKEN=PUT_YOUR_TOKEN_HERE
Редактировать .gitignore
(я рекурсивно игнорирую любой .env
)
**/.env
В точке входа вашего скрипта загрузите файл начальной загрузки или там, где вы считаете нужным,
from dotenv import load_dotenv
load_dotenv()
Наконец, теперь вы сможете получить доступ к переменным из любого места в вашем приложении, выполнив
import os
print(os.getenv("GITHUB_ACCESS_TOKEN"))
Обратите внимание на это!(Спасибо Alex & Henrik)
Настоятельно не рекомендуется, потому что вы обычно не хотите рисковать некоторыми дингсами, переопределяющими gitignore и передающими файл, полный секретов, в ваш репозиторий.Как правило, вы хотите, чтобы ваше решение для развертывания или сервис, такой как HashiCorp Vault, обрабатывал ваши env-переменные вместо того, чтобы сохранять файл в файловых системах вашей среды.
Так что не связывайтесь с вашей средойфайлы в работе.
Ссылка: https://github.com/theskumar/python-dotenv
Еще одно возможное решение, которое я еще не пробовал: https://github.com/direnv/direnv