在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
答案 0 :(得分:2)
heroku:config
仅在Heroku上设置环境变量。要在本地运行代码,您将必须在本地设置环境变量。 (它们在开发和生产上可能有所不同。这就是整个想法,它们是环境专用的。)
有几种方法可以做到这一点。这是两个:
在本地计算机上,您可以使用.env
file包含格式为
VAR1=value
VAR2=value2
然后运行您的应用程序using Foreman,它将自动读取.env
文件并设置适当的环境变量:
foreman start
您可以使用direnv
之类的设置环境变量,只要您.envrc
进入其目录,它就会为您的项目读取一个cd
文件,并相应地设置环境变量。在这种情况下,您不需要使用Foreman。 python app.py
应该可以正常工作。
还有direnv
的编辑器和IDE插件,它们也可以在编辑器中自动执行。