我很难找到使用带有gunicorn和Heroku的烧瓶创建Procfiles的文档。某处我发现语法是:
web: gunicorn my_folder.my_module:app
。但我不能让它发挥作用。当我的python脚本:hello.py
位于应用程序的根文件夹中时,它只适用于我。当我把它放在一个名为app的子文件夹中并创建一个Procfile时:web: gunicorn app.hello:app
它不起作用。只有当我使用web: gunicorn hello:app
并且我的python脚本在根文件夹中时。有人可以在Heroku上向我解释Procfiles for gunicorn的正确语法,以及当python脚本在子文件夹中时如何使它工作?
答案 0 :(得分:10)
Gunicorn带了一个标志--chdir
,可以让你选择你的Python应用程序所在的目录。所以,如果你有一个目录结构,如:
my-project/
Procfile
my_folder/
my_module.py
和my_module.py
包含:
app = Flask(__name__, ...)
您可以将以下内容放入Procfile
:
web: gunicorn --chdir my_folder my_module:app