Python无法检测到Heroku配置

时间:2018-08-27 01:29:25

标签: python heroku environment-variables

在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_idNone而不是111111111111111111。为什么?

为了进行测试,我通过以下方式从Windows计算机的命令行执行代码:

python app.py

1 个答案:

答案 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插件,它们也可以在编辑器中自动执行。