Python не обнаруживает конфигурацию Heroku - PullRequest
0 голосов
/ 27 августа 2018

Из моей командной строки 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

1 Ответ

0 голосов
/ 27 августа 2018

heroku:config только устанавливает переменные окружения на Heroku.Чтобы запустить ваш код локально, вам нужно установить переменные окружения локально.(Они могут быть разными в разработке и производстве. В этом вся идея - они среда -специфична.)

Есть несколько способов сделать это.Вот два из них:

  • На вашем локальном компьютере вы можете использовать .env файл , содержащий данные в формате

    VAR1=value
    VAR2=value2
    

    , а затемзапустите ваше приложение , используя Foreman , который автоматически прочитает файл .env и установит соответствующие переменные среды:

    foreman start
    
  • Вы можете установить переменные среды, используя что-то вродеdirenv, который будет считывать файл .envrc для вашего проекта всякий раз, когда вы cd вводите в его каталог и соответственно устанавливаете переменные среды.В этом случае вам не нужно использовать Foreman;python app.py должно работать нормально.

    Существуют плагины редактора и IDE для direnv, которые также могут автоматизировать это в вашем редакторе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...