我试图在Heroku上使用Flask开发我的第一个“大型”应用程序,并尝试将这里的基本教程:https://devcenter.heroku.com/articles/python与此处的说明结合起来:http://flask.pocoo.org/docs/patterns/packages/#larger-applications。通过 "foreman start" 在本地工作,但是当我推送到 Heroku 时,出现了错误,提示使用了错误的端口号:
使用命令
python run.py
启动进程 2012-12-04T23:45:18 +00:00 app [web.1]: * 运行在http: //127.0.0.1:5000/ 2012-12-04T23:45:18 +00:00 app [web.1]:* 重新启动重载器2012-12-04T23:45:23 +00:00 heroku [web.1]: 错误R11(Bad bind) - > 进程绑定到端口5000,应该是33507 (参见环境变量PORT)
我对所有这些都是新手,但看起来它正在尝试在Heroku上“本地”运行。 我已经尝试了各种组合,但无法使其正常工作。 目前我的代码非常简单(应用程序名称为“pml”):
目录:/pml
Procfile:
web: python run.py
运行.py:
from pml import app
app.run(debug=True)
目录: /pml/pml/
__init__.py
from flask import Flask
app = Flask(__name__)
import pml.views
视图.py
from pml import app
@app.route('/')
def index():
return 'Hello World!'
import os from pml import app port = int(os.environ.get('PORT', 5000)) app.run(host='0.0.0.0', port=port)
- crixport = int(os.getenv('PORT'))
,该值将始终由Heroku设置。 - Peter Lada