我正在尝试使用应用程序工厂重新配置现有的Flask应用程序以安装setup.py
。
目前,使用我的不可安装程序包,我使用名为wsgi.py
的文件并指向FLASK_APP
。
from example.factory import create_app
app = create_app()
export FLASK_APP=wsgi.py
flask run
但是,如果我尝试在已安装的软件包中直接指向Flask,我会得到RuntimeError: Failed to find application in module "example.factory"
。我在examples in the Flask repository中找到了这种模式。
export FLASK_APP="example.factory:create_app()"
flask run # doesn't find the app
为什么wsgi.py
方法在直接方法失败时有效?
答案 0 :(得分:3)
我将烧瓶应用程序名称保留为flask.py
。
将其更改为flaskfile.py
或其他任何名称,但不能单独使用flask
也许flask是一个关键字。
答案 1 :(得分:1)
您需要使用与您正在使用的Flask版本相匹配的文档和示例。
您正在从主分支查看教程。但您正在使用当前的Flask版本,该版本尚不支持检测应用工厂。您仍然需要使用当前指向创建应用程序的文件的方法,直到释放1.0。
答案 2 :(得分:0)
再次检查您是否实际上在create_app中返回了“ app”变量。