为什么FLASK_APP无法找到我的工厂功能?

时间:2018-01-07 18:18:49

标签: python flask

我正在尝试使用应用程序工厂重新配置现有的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方法在直接方法失败时有效?

3 个答案:

答案 0 :(得分:3)

我将烧瓶应用程序名称保留为flask.py

将其更改为flaskfile.py或其他任何名称,但不能单独使用flask

也许flask是一个关键字。

答案 1 :(得分:1)

您需要使用与您正在使用的Flask版本相匹配的文档和示例。

您正在从主分支查看教程。但您正在使用当前的Flask版本,该版本尚不支持检测应用工厂。您仍然需要使用当前指向创建应用程序的文件的方法,直到释放1.0。

答案 2 :(得分:0)

再次检查您是否实际上在create_app中返回了“ app”变量。