如何在Heroku中为Python创建Procfile?
在网上搜寻答案之后,我似乎找不到一个可靠的答案。目前,我的目录设置如下:如何在Heroku中为Python创建Procfile?,python,python-2.7,heroku,flask,Python,Python 2.7,Heroku,Flask,在网上搜寻答案之后,我似乎找不到一个可靠的答案。目前,我的目录设置如下: flaskapp -app -intro_to_flask +__init__.py +config.py +routes.py +forms.py -runserver.py -Readme.md -bin -include
flaskapp
-app
-intro_to_flask
+__init__.py
+config.py
+routes.py
+forms.py
-runserver.py
-Readme.md
-bin
-include
-lib
-view
Procfile
requirements.txt
web: gunicorn --pythonpath app runserver
因此,我不确定是否正确设置了Procfile
。我将其设置为:
flaskapp
-app
-intro_to_flask
+__init__.py
+config.py
+routes.py
+forms.py
-runserver.py
-Readme.md
-bin
-include
-lib
-view
Procfile
requirements.txt
web: gunicorn --pythonpath app runserver
但是,当我运行foreman start…heroku进入一个不断重新启动连接的循环时,我尝试在虚拟环境导出端口=5001中手动设置端口,但仍然收到相同的错误:
Running on http://127.0.0.1:5000/
12:21:20 web.1 | * Restarting with reloader
12:21:20 web.1 | 2014-02-22 12:21:20 [34532] [INFO] Starting gunicorn 18.0
12:21:20 web.1 | 2014-02-22 12:21:20 [34532] [ERROR] Connection in use: ('0.0.0.0', 5001)
此外,我已经关闭了所有正在使用的gunicorn流程,并尝试再次运行foreman start…有什么想法吗
这是我的runserver.py
from intro_to_flask import app
app.run(debug=True)
在gunicorn上运行应用程序时,不会使用启动开发服务器的启动脚本。gunicorn需要知道的是从何处导入应用程序。在您的情况下,我认为您希望在Procfile中包含以下内容:
web: gunicorn --pythonpath app intro_to_flask:app
不确定这是否能按原样工作,或者是否需要做一些小的调整。其思想是,您需要为gunicorn提供定义应用程序的包或模块,然后是冒号,然后是应用程序实例符号
我希望这能有所帮助。你能展示一下
runserver.py
的内容吗?@Miguel当然……我的内容如下: