2013-10-14 2 views
1

Я просто нажал мое приложение на героку в первый раз, но продолжаю получать «Ошибка приложения», когда я нахожу страницу. Я не знаком с герокой и не могу найти ссылку в ссылках помощи/dev.gunicorn вызывает ошибки в heroku

Переход к журналам Heroku, я получаю это:

C:\Users\XXX\Desktop\xxxxx.folder>heroku logs 
2013-10-14T02:32:18.578976+00:00 heroku[api]: Enable Logplex by [email protected] 
2013-10-14T02:32:18.597277+00:00 heroku[api]: Release v2 created by [email protected] 
2013-10-14T02:32:46+00:00 heroku[slug-compiler]: Slug compilation started 
2013-10-14T02:33:10.309086+00:00 heroku[api]: Scale to web=1 by [email protected] 
2013-10-14T02:33:10.356490+00:00 heroku[api]: Deploy 9edccd8 by [email protected] 
2013-10-14T02:33:10.375197+00:00 heroku[api]: Release v3 created by [email protected] 
2013-10-14T02:33:10+00:00 heroku[slug-compiler]: Slug compilation finished 
2013-10-14T02:33:14.369318+00:00 heroku[web.1]: Starting process with command `gunicorn xxxxx:app` 
2013-10-14T02:33:15.336306+00:00 app[web.1]: 2013-10-14 02:33:15 [2] [INFO] Starting gunicorn 18.0 
2013-10-14T02:33:15.337257+00:00 app[web.1]: 2013-10-14 02:33:15 [2] [INFO] Listening at: http://0.0.0.0:36245 (2) 
2013-10-14T02:33:15.337821+00:00 app[web.1]: 2013-10-14 02:33:15 [2] [INFO] Using worker: sync 
2013-10-14T02:33:15.354973+00:00 app[web.1]: 2013-10-14 02:33:15 [7] [INFO] Booting worker with pid: 7 
2013-10-14T02:33:15.360482+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/workers/base.py", line 106, in init_process 
2013-10-14T02:33:15.360482+00:00 app[web.1]:  self.callable = self.load() 
2013-10-14T02:33:15.360482+00:00 app[web.1]: Traceback (most recent call last): 
2013-10-14T02:33:15.360482+00:00 app[web.1]: 2013-10-14 02:33:15 [7] [ERROR] Exception in worker process: 
2013-10-14T02:33:15.360482+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/arbiter.py", line 495, in spawn_worker 
2013-10-14T02:33:15.360482+00:00 app[web.1]:  worker.init_process() 
2013-10-14T02:33:15.360482+00:00 app[web.1]:  self.wsgi = self.app.wsgi() 
2013-10-14T02:33:15.360482+00:00 app[web.1]:  return self.load_wsgiapp() 
2013-10-14T02:33:15.360482+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 62, in load 
2013-10-14T02:33:15.360482+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/app/base.py", line 114, in wsgi 
2013-10-14T02:33:15.360658+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 49, in load_wsgiapp 
2013-10-14T02:33:15.360658+00:00 app[web.1]:  return util.import_app(self.app_uri) 
2013-10-14T02:33:15.360658+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/util.py", line 354, in import_app 
2013-10-14T02:33:15.360658+00:00 app[web.1]: ImportError: No module named xxxxx 

2013-10-14T02:33:15.360658+00:00 app[web.1]:  __import__(module) 
2013-10-14T02:33:15.360658+00:00 app[web.1]: Traceback (most recent call last): 
2013-10-14T02:33:15.360658+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/arbiter.py", line 495, in spawn_worker 
2013-10-14T02:33:15.360658+00:00 app[web.1]:  worker.init_process() 
2013-10-14T02:33:15.360658+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/workers/base.py", line 106, in init_process 
2013-10-14T02:33:15.360658+00:00 app[web.1]:  self.wsgi = self.app.wsgi() 
2013-10-14T02:33:15.360814+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/app/base.py", line 114, in wsgi 
2013-10-14T02:33:15.360814+00:00 app[web.1]:  self.callable = self.load() 
2013-10-14T02:33:15.360814+00:00 app[web.1]:  return util.import_app(self.app_uri) 
2013-10-14T02:33:15.360814+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 62, in load 
2013-10-14T02:33:15.360814+00:00 app[web.1]:  return self.load_wsgiapp() 
2013-10-14T02:33:15.360814+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 49, in load_wsgiapp 
2013-10-14T02:33:15.360814+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/util.py", line 354, in import_app 
2013-10-14T02:33:15.360814+00:00 app[web.1]:  __import__(module) 
2013-10-14T02:33:15.360814+00:00 app[web.1]: ImportError: No module named xxxxx 

2013-10-14T02:33:15.360814+00:00 app[web.1]: 2013-10-14 02:33:15 [7] [INFO] Worker exiting (pid: 7) 
2013-10-14T02:33:15.506842+00:00 app[web.1]: 2013-10-14 02:33:15 [2] [INFO] Shutting down: Master 
2013-10-14T02:33:15.506842+00:00 app[web.1]: 2013-10-14 02:33:15 [2] [INFO] Reason: Worker failed to boot. 
2013-10-14T02:33:16.807631+00:00 heroku[web.1]: Process exited with status 3 
2013-10-14T02:33:16.808898+00:00 heroku[web.1]: State changed from starting to crashed 
2013-10-14T02:33:16.810378+00:00 heroku[web.1]: State changed from crashed to starting 
2013-10-14T02:33:20.292603+00:00 heroku[web.1]: Starting process with command `gunicorn xxxxx:app` 
2013-10-14T02:33:21.415595+00:00 app[web.1]: 2013-10-14 02:33:21 [2] [INFO] Starting gunicorn 18.0 
2013-10-14T02:33:21.424049+00:00 app[web.1]: 2013-10-14 02:33:21 [2] [INFO] Listening at: http://0.0.0.0:21832 (2) 
2013-10-14T02:33:21.424357+00:00 app[web.1]: 2013-10-14 02:33:21 [2] [INFO] Using worker: sync 
2013-10-14T02:33:21.451415+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/arbiter.py", line 495, in spawn_worker 
2013-10-14T02:33:21.451415+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/app/base.py", line 114, in wsgi 
2013-10-14T02:33:21.446578+00:00 app[web.1]: 2013-10-14 02:33:21 [7] [INFO] Booting worker with pid: 7 
2013-10-14T02:33:21.451415+00:00 app[web.1]: 2013-10-14 02:33:21 [7] [ERROR] Exception in worker process: 
2013-10-14T02:33:21.451415+00:00 app[web.1]: Traceback (most recent call last): 
2013-10-14T02:33:21.451415+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/workers/base.py", line 106, in init_process 
2013-10-14T02:33:21.451415+00:00 app[web.1]:  return self.load_wsgiapp() 
2013-10-14T02:33:21.451582+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 49, in load_wsgiapp 
2013-10-14T02:33:21.451582+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/util.py", line 354, in import_app 
2013-10-14T02:33:21.451415+00:00 app[web.1]:  self.callable = self.load() 
2013-10-14T02:33:21.451415+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 62, in load 
2013-10-14T02:33:21.451582+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/arbiter.py", line 495, in spawn_worker 
2013-10-14T02:33:21.451582+00:00 app[web.1]:  worker.init_process() 
2013-10-14T02:33:21.451582+00:00 app[web.1]:  return util.import_app(self.app_uri) 
2013-10-14T02:33:21.451582+00:00 app[web.1]:  __import__(module) 
2013-10-14T02:33:21.451415+00:00 app[web.1]:  worker.init_process() 
2013-10-14T02:33:21.451765+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/app/base.py", line 114, in wsgi 
2013-10-14T02:33:21.451765+00:00 app[web.1]:  return util.import_app(self.app_uri) 
2013-10-14T02:33:21.451765+00:00 app[web.1]: 2013-10-14 02:33:21 [7] [INFO] Work 
er exiting (pid: 7) 
2013-10-14T02:33:21.451582+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/workers/base.py", line 106, in init_process 
2013-10-14T02:33:21.451582+00:00 app[web.1]: Traceback (most recent call last): 
2013-10-14T02:33:21.451765+00:00 app[web.1]:  self.callable = self.load() 
2013-10-14T02:33:21.451765+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 62, in load 
2013-10-14T02:33:21.451765+00:00 app[web.1]:  return self.load_wsgiapp() 
2013-10-14T02:33:21.451415+00:00 app[web.1]:  self.wsgi = self.app.wsgi() 
2013-10-14T02:33:21.451765+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 49, in load_wsgiapp 
2013-10-14T02:33:21.451582+00:00 app[web.1]:  self.wsgi = self.app.wsgi() 
2013-10-14T02:33:21.451765+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/util.py", line 354, in import_app 
2013-10-14T02:33:21.451765+00:00 app[web.1]:  __import__(module) 
2013-10-14T02:33:21.451582+00:00 app[web.1]: ImportError: No module named xxxxx 
2013-10-14T02:33:21.451765+00:00 app[web.1]: ImportError: No module named xxxxx 

2013-10-14T02:33:21.614863+00:00 app[web.1]: 2013-10-14 02:33:21 [2] [INFO] Shutting down: Master 
2013-10-14T02:33:21.614999+00:00 app[web.1]: 2013-10-14 02:33:21 [2] [INFO] Reason: Worker failed to boot. 
2013-10-14T02:33:22.891685+00:00 heroku[web.1]: State changed from starting to crashed 
2013-10-14T02:33:22.880946+00:00 heroku[web.1]: Process exited with status 3 
2013-10-14T02:33:56.309306+00:00 heroku[api]: Scale to web=1 by [email protected] 
2013-10-14T02:34:38.709036+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxxxx.herokuapp.com fwd="68.8.230.232" dyno= connect= service= status=503 bytes= 
2013-10-14T02:35:26.497306+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxxxx.herokuapp.com fwd="68.8.230.232" dyno= connect= service= status=503 bytes= 
2013-10-14T02:35:29.339881+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxxxx.herokuapp.com fwd="68.8.230.232" dyno= connect= service= status=503 bytes= 
2013-10-14T02:34:35.682537+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxxxx.herokuapp.com fwd="68.8.230.232" dyno= connect= service= status=503 bytes= 
2013-10-14T02:34:36.970547+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxxxx.herokuapp.com fwd="68.8.230.232" dyno= connect= service= status=503 bytes= 
2013-10-14T02:35:27.860267+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxxxx.herokuapp.com fwd="68.8.230.232" dyno= connect= service= status=503 bytes= 
2013-10-14T02:36:45.618318+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxxxx.herokuapp.com fwd="68.8.230.232" dyno= connect= service= status=503 bytes= 
2013-10-14T02:37:13.316055+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxxxx.herokuapp.com fwd="68.8.230.232" dyno= connect= service= status=503 bytes= 
2013-10-14T02:37:16.020891+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxxxx.herokuapp.com fwd="68.8.230.232" dyno= connect= service= status=503 bytes= 
2013-10-14T02:37:54.849200+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxxxx.herokuapp.com fwd="68.8.230.232" dyno= connect= service= status=503 bytes= 
2013-10-14T02:37:14.772425+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxxxx.herokuapp.com fwd="68.8.230.232" dyno= connect= service= status=503 bytes= 

Я не совсем уверен, что это все значит. Но я предполагаю, что это связано с связью с оружием? Может кто-то помочь указать на проблему и как я могу это исправить?

Примечание: no ImportError: Нет модуля с именем xxxxx -> xxxxx - это имя моего приложения. Это также то, что я использовал в procfile (например, xxxxx: app). Это проблема?

Edit: Это приложение Колба так вот текущая структура, которая у меня есть

-static 
     --css 
     --img 
     --js 
    -templates 
     --index.html 
     --layout.html 
    -.gitignore 
    -Procfile 
    -requirements.txt 
    -app.py 

Мой PROCFILE:

web: gunicorn app:app 

Edit2: Это мой app.py файл

from flask import Flask, render_template 

app = Flask(__name__) 


@app.route('/') 
def main(): 
    return render_template("index.html") 


@app.route('/projects') 
def projects(): 
    ... 

... 

if __name__ == '__main__': 
    app.run() 
+0

Пожалуйста, добавьте описание каталога и структуры вашего проекта с подробной информацией о том, где находится объект 'app'. – Miguel

+0

добавлен. Я использую базовую структуру фляги –

+0

Где ваш пакет «xxxxx»? Это то, что вы говорите, чтобы пулемет был импортирован. – Miguel

ответ

9

Когда вы настраиваете свой Procfile, чтобы сказать:

web: gunicorn xxxxx:app 

Вы передаёте команду, что Heroku будет работать. Прежде чем обратиться к Heroku, вы должны убедиться, что вы можете запустить эту команду на своей машине разработки.

Аргумент «xxxxx», который вы передаете для пушки, представляет собой пакет или модуль, который будет использовать для запуска вашего объекта приложения. Если вы создаете свое приложение в app.py, тогда это должно быть «приложение» (расширение .py не должно быть включено). Ошибка, возникающая из-за того, что увольнитель выдает import xxxxxx, и это явно не удается, потому что вы не определили пакет или модуль с этим именем.

С другой стороны двоеточия вы должны указать название своей заявки. Например, если у вас есть следующий код в app.py файл:

app = Flask(__name__) 

затем имя вашего приложения app. Для установки, он PROCFILE следует читать:

web: gunicorn app:app 

Тогда gunicorn выпустит import app (левая сторона app), а затем посмотреть на символ с именем app там (правая сторона app).

Надеюсь, это поможет.

+0

привет, это именно то, что у меня есть (обновлено первое сообщение), но он не работает. –

+0

Добавьте обновленный журнал ошибок, которые вы получаете после перехода на «приложение: приложение», пожалуйста. – Miguel

+0

Может случиться так, что если оператор 'import app' находится в блоке' if __name__ == "__main__", он никогда не будет выполнен при импорте модуля. Чтобы решить эту проблему, оператор 'import app' должен быть перемещен за пределы блока' if', чтобы gunicorn мог найти объект приложения. – kicker86

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