2015-09-26 3 views
3

Я запускаю приложение app.py с использованием Python и Flask. Я пытаюсь развернуть его в Heroku, и я выполнил шаги в this tutorial, включая создание файла Procfile и требований. Txt. Тем не менее, всякий раз, когда я бег heroku local, я получаю следующее сообщение об ошибке:Python, Flask, Gunicorn Ошибка: непризнанные аргументы

web.1 | [2015-09-26 17:36:32 -0400] [19422] [INFO] Starting gunicorn 19.3.0 
web.1 | [2015-09-26 17:36:32 -0400] [19422] [INFO] Listening at: http://0.0.0.0:5000 (19422) 
web.1 | [2015-09-26 17:36:32 -0400] [19422] [INFO] Using worker: sync 
web.1 | [2015-09-26 17:36:32 -0400] [19425] [INFO] Booting worker with pid: 19425 
web.1 | usage: gunicorn [-h] [--auth_host_name AUTH_HOST_NAME] 
web.1 | gunicorn: error: unrecognized arguments: app:app 
web.1 | [2015-09-26 17:36:32 -0400] [19425] [INFO] Worker exiting (pid: 19425) 

Я развернутое приложение успешно на Heroku и раньше, но никогда не получил эту ошибку. Мой Procfile - это просто одна строка: web: gunicorn app:app.

Может ли кто-нибудь сказать мне, как это исправить?

UPDATE: Модифицированный некоторые из моего кода, и теперь, когда я бегу heroku local, он прекрасно работает:

web.1 | [2015-09-28 18:52:13 -0400] [70650] [INFO] Starting gunicorn 19.3.0 
web.1 | [2015-09-28 18:52:13 -0400] [70650] [INFO] Listening at: http://0.0.0.0:5000 (70650) 
web.1 | [2015-09-28 18:52:13 -0400] [70650] [INFO] Using worker: sync 
web.1 | [2015-09-28 18:52:13 -0400] [70653] [INFO] Booting worker with pid: 70653 

Однако, когда я раскрываю мое приложение Heroku, я получаю сообщение об ошибке приложения, и, когда я проверьте журналы, я вижу ту же ошибку, что и раньше:

2015-09-28T22:50:54.775077+00:00 app[web.1]: 2015-09-28 22:50:54 [3] [INFO] Starting gunicorn 18.0 
2015-09-28T22:50:54.776176+00:00 app[web.1]: 2015-09-28 22:50:54 [3] [INFO] Using worker: sync 
2015-09-28T22:50:54.776052+00:00 app[web.1]: 2015-09-28 22:50:54 [3] [INFO] Listening at: http://0.0.0.0:24995 (3) 
2015-09-28T22:50:54.786067+00:00 app[web.1]: 2015-09-28 22:50:54 [9] [INFO] Booting worker with pid: 9 
2015-09-28T22:50:56.004336+00:00 heroku[web.1]: State changed from starting to up 
2015-09-28T22:51:42.659042+00:00 heroku[router]: at=error code=H13 desc="Connection closed without response" method=GET path="/" host=bobawithjames.herokuapp.com request_id=1afab4c0-484e-456b-be05-3086ee0711cd fwd="160.39.250.29" dyno=web.1 connect=1ms service=39ms status=503 bytes=0 
2015-09-28T22:51:42.604331+00:00 app[web.1]:     [--noauth_local_webserver] 
2015-09-28T22:51:42.604323+00:00 app[web.1]: usage: gunicorn [-h] [--auth_host_name AUTH_HOST_NAME] 
2015-09-28T22:51:42.604335+00:00 app[web.1]:     [--auth_host_port [AUTH_HOST_PORT [AUTH_HOST_PORT ...]]] 
2015-09-28T22:51:42.633611+00:00 app[web.1]: gunicorn: error: unrecognized arguments: hello:app 

Кто-нибудь знает, что происходит сейчас?

+0

попробуйте переименовать файл на 'main.py' и измените файл Procfile на:' web: gunicorn main: app' – ahmed

+0

@ahmed Я пробовал это и получил ту же ошибку. Любые другие предложения? – frogbandit

+0

У меня такая же проблема - у кого есть проблема? – crarho

ответ

3

Мне удалось решить мою проблему, предложив @euxneks, а также некоторые проблемы с Google OAuth 2.0.

По существу, учебник, который я использовал, Python Quickstart for Google Calendar API, использовал argparse для получения флагов для учетных данных. Однако он также вызывал tools.run, который устарел. Поэтому вместо этого я решил следовать за different, more up-to-date tutorial, который проходит через OAuth 2.0 с помощью Python Web App.

Смежные вопросы