Из моей командной строки Windows 10:
heroku config
дает выход:
=== test-bot Config Vars
GROUPME_BOT_ID: [111111111111111111]
Мой код Python 3:
data = {
'bot_id' : os.getenv('GROUPME_BOT_ID'),
'text' : "hi",
}
print(data)
выходы:
{'bot_id': None, 'text': 'hi'}
bot_id
- None
вместо 111111111111111111
. Зачем?
Для тестирования я выполняю свой код из командной строки моего компьютера с Windows:
python app.py
heroku:config
только устанавливает переменные среды на Heroku. Чтобы запустить код локально, вам придется локально устанавливать переменные среды. (Они могут отличаться в развитии и производстве. Вся идея - они специфичны для окружающей среды.)
Есть несколько способов сделать это. Вот два:
На вашей локальной машине вы можете использовать файл .env
содержащий данные в формате
VAR1=value
VAR2=value2
а затем запустите приложение с помощью Foreman, который автоматически прочитает файл .env
и установит соответствующие переменные среды:
foreman start
Вы можете установить переменные окружения, используя что - то вроде direnv
, которые будут читать в .envrc
файл для вашего проекта каждый раз, когда вы cd
в свой каталог и установить переменные среды соответственно. В этом случае вам не нужно использовать Foreman; python app.py
должен работать нормально.
Есть редактор и IDE-плагины для direnv
которые также могут автоматизировать это в вашем редакторе.