Python Flask Web应用程序无法使用Waitess服务器在Heroku上部署
我正在尝试在Heroku PaaS云服务上部署我的Flask应用程序。但是,它在本地主机上工作,没有错误。我正在使用git进行版本控制,并将其推送到Heroku。最初,作为一个web服务器,我使用了“gunicorn”,但后来知道它对UNIX发行版很有用。所以我把我的网络服务器改成了“服务员”。我看到了一些帖子,并尝试了Procfile中的所有内容来托管Heroku。我的程序文件的内容如下:Python Flask Web应用程序无法使用Waitess服务器在Heroku上部署,flask,heroku,waitress,Flask,Heroku,Waitress,我正在尝试在Heroku PaaS云服务上部署我的Flask应用程序。但是,它在本地主机上工作,没有错误。我正在使用git进行版本控制,并将其推送到Heroku。最初,作为一个web服务器,我使用了“gunicorn”,但后来知道它对UNIX发行版很有用。所以我把我的网络服务器改成了“服务员”。我看到了一些帖子,并尝试了Procfile中的所有内容来托管Heroku。我的程序文件的内容如下:web:waiterserve--port=$port-app:app。我还知道,这行中的第一个app是包
web:waiterserve--port=$port-app:app
。我还知道,这行中的第一个app
是包,第二个app
是我所知道的最好的实例名称。我甚至将app
更改为myapp
,网站
,我的VS代码编辑器中包含了所有提到的软件包。但是我的应用程序没有部署到Heroku上,它会导致应用程序错误。现在,当我使用heroku logs--tail检查日志时,屏幕截图中显示了以下错误。任何帮助都将不胜感激。我试了23个小时 Procfile看起来正确,但问题可能是文件(app.py)和变量(app)的名称相同
在app.py
# define Flask app
def create_app():
try:
web_app = Flask(__name__)
logging.info('Starting up..')
return web_app
except Exception as e:
logging.exception(e)
# retrieve port
def get_port():
return int(os.environ.get("PORT", 5000))
# start Flask app
if __name__ == '__main__':
web_app = create_app()
web_app.run(debug=False, port=get_port(), host='0.0.0.0')
应用程序可以通过以下方式从Procfile启动:
web: waitress-serve --port=$PORT --call 'app:create_app'