上下文: 我正在编写一个中等大小的 Flask 应用程序(10-15 个视图),在此过程中,我希望以一种易于维护和可扩展的方式组织代码(而不是像大多数 Flask 应用程序那样的单一文件) )。
应用程序的结构模仿文档如下:
/AwesomeHackings
/ENV
/AwesomeHackings
/models
/static
/templates
/__init__.py
/awesome.py
/awesome.cfg
/Procfile
/README.MD
/requirements.txt
/run.py
问题: 我无法让工头使用未命名为“app”的烧瓶应用程序。我希望 run.py 成为我的应用程序的入口点。
我正在使用 gunicorn + gevent,我当前的 Procfile 包含:
web: gunicorn -w 2 -b 0.0.0.0:$PORT -k gevent app:run
我一直在使用run.py
测试应用程序:
from AwesomeHackings import awesome
awesome.app.run(debug=True)
因此,我假设我可以简单地run
在app
Procfile 中替换,但是在执行时foreman start
,gunicorn 会失败,并会出现关于模块的毫无意义的冗长语句。