
我已经使用烧瓶框架开发了一个python应用程序,我在Heroku中部署了同样的应用程序,但是在成功构建之后,我得到了应用程序错误。我的应用正在本地主机上运行。问题是什么,我哪里错了,以及如何解决问题。
Procfile内容:
app.py : python /app.py,我也尝试过web: python,但是它没有工作。
Requirments.txt:
flask==0.12
更确切地说,我不使用火鸟。
LogFile关于heroku的详细信息:
Python app detected
-----> Installing python-2.7.13
$ pip install -r requirements.txt
Collecting flask==0.12 (from -r /tmp/build_ae4a1daf2328eb128abf7b576e0858c1/requirements.txt (line 1))
Downloading Flask-0.12-py2.py3-none-any.whl (82kB)
Collecting itsdangerous>=0.21 (from flask==0.12->-r /tmp/build_ae4a1daf2328eb128abf7b576e0858c1/requirements.txt (line 1))
Downloading itsdangerous-0.24.tar.gz (46kB)
Collecting Werkzeug>=0.7 (from flask==0.12->-r /tmp/build_ae4a1daf2328eb128abf7b576e0858c1/requirements.txt (line 1))
Downloading Werkzeug-0.12.1-py2.py3-none-any.whl (312kB)
Collecting Jinja2>=2.4 (from flask==0.12->-r /tmp/build_ae4a1daf2328eb128abf7b576e0858c1/requirements.txt (line 1))
Downloading Jinja2-2.9.5-py2.py3-none-any.whl (340kB)
Collecting click>=2.0 (from flask==0.12->-r /tmp/build_ae4a1daf2328eb128abf7b576e0858c1/requirements.txt (line 1))
Downloading click-6.7-py2.py3-none-any.whl (71kB)
Collecting MarkupSafe>=0.23 (from Jinja2>=2.4->flask==0.12->-r /tmp/build_ae4a1daf2328eb128abf7b576e0858c1/requirements.txt (line 1))
Downloading MarkupSafe-1.0.tar.gz
Installing collected packages: itsdangerous, Werkzeug, MarkupSafe, Jinja2, click, flask
Running setup.py install for itsdangerous: started
Running setup.py install for itsdangerous: finished with status 'done'
Running setup.py install for MarkupSafe: started
Running setup.py install for MarkupSafe: finished with status 'done'
Successfully installed Jinja2-2.9.5 MarkupSafe-1.0 Werkzeug-0.12.1 click-6.7 flask-0.12 itsdangerous-0.24
-----> Discovering process types
Procfile declares types -> web
-----> Compressing...
Done: 37.7M
-----> Launching...
Released v3
https://guarded-tundra-18526.herokuapp.com/ deployed to HerokuLogFile没有显示任何错误。那么,为什么我不能运行我的应用程序。
发布于 2017-08-07 06:25:16
这可能是Flask实例(app)的"run“方法的主机和端口参数的问题。
将主机设置为"0.0.0.0“,而不是"127.0.0.1”,以允许任何IP访问应用程序(而不仅仅是本地)
默认情况下,端口是5000瓶,但是Heroku会动态地为应用程序分配一个端口,这样很难编码,所以无法工作。
运行该应用程序如下:
if __name__ == "__main__":
port = int(os.environ.get("PORT", 5000))
app.run(host="0.0.0.0", port=port)然后可以从Heroku port获得端口。
https://stackoverflow.com/questions/42840476
复制相似问题