我有一个已部署到Heroku的Flask应用程序,但出现错误:
2018-08-27T12:39:32.197715+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=heroku-seb-test.herokuapp.com request_id=3e02d494-1a3f-4467-9eaa-aaa551b4ca03 fwd="91.143.113.54" dyno= connect= service= status=503 bytes= protocol=https
似乎这是我的Flask应用程序结构中的一个错误,因为在其上方会引发一个Python / Flask异常:
File "/app/.heroku/python/lib/python2.7/site-
packages/gunicorn/util.py", line 357, in import_app
__import__(module)
ImportError: No module named app
这是我的文件夹结构:
这是我的routes.py
文件:
from flask import Flask
from flask import render_template, request, flash, session, url_for,
redirect
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
app.run(debug=True)
这是我的Procfile
:
web: gunicorn app:app
答案 0 :(得分:2)
Procfile
告诉Heroku如何运行您的应用程序。 gunicorn
expects to be given an argument in the form of module.variable
确定应运行的事物。
今天,您告诉它您的应用程序位于名为app
的模块中名为app
的变量中:
web: gunicorn app:app
但是您的模块未称为app
,而是称为routes
(文件为routes.py
)。更新您的Procfile
以指向正确的对象:
web: gunicorn routes:app
提交更改并推送到Heroku以查看其效果。 (或者您可以使用heroku local
在本地试用。)