[英]flask.cli.NoAppException: Failed to find Flask application or factory in module "flaskr". Use "FLASK_APP=flaskr:name to specify one
I am building a python web application using flask and following tutorial from http://flask.pocoo.org/docs/1.0/tutorial/factory/ . 我正在从父目录运行 flask 但出现以下错误。
(venv) E:\python-code\python-web>flask run
* Serving Flask app "flaskr" (lazy loading)
* Environment: development
* Debug mode: on
* Restarting with stat
* Debugger is active!
* Debugger PIN: 294-690-396
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [16/Mar/2019 13:10:43] "GET /hello HTTP/1.1" 500 -
Traceback (most recent call last):
File "e:\python-code\python-web\venv\lib\site-packages\flask\_compat.py", line 35, in reraise
raise value
File "e:\python-code\python-web\venv\lib\site-packages\flask\cli.py", line 95, in find_best_app
module=module.__name__
flask.cli.NoAppException: Failed to find Flask application or factory in module "flaskr". Use "FLASK_APP=flaskr:name to specify one.
127.0.0.1 - - [16/Mar/2019 13:10:43] "GET /hello?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 200 -
127.0.0.1 - - [16/Mar/2019 13:10:43] "GET /hello?__debugger__=yes&cmd=resource&f=jquery.js HTTP/1.1" 200 -
127.0.0.1 - - [16/Mar/2019 13:10:43] "GET /hello?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 -
127.0.0.1 - - [16/Mar/2019 13:10:43] "GET /hello?__debugger__=yes&cmd=resource&f=ubuntu.ttf HTTP/1.1" 200 -
127.0.0.1 - - [16/Mar/2019 13:10:44] "GET /hello?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 -
127.0.0.1 - - [16/Mar/2019 13:10:44] "GET /hello?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 -
请帮忙。
我试过从cli运行Flask应用程序给出“没有名为flaskr的模块”和flask.cli.NoAppException:无法在模块中找到应用程序?
我发现了我的问题。 我在我的代码中缺少return app
作为最后一条语句。 抱歉给您带来困惑和歉意。
我得到了那个错误
flask.cli.NoAppException flask.cli.NoAppException:无法在模块“flaskr”中找到 Flask 应用程序或工厂。 使用 "FLASK_APP=flaskr:name 指定一个。
我尝试了所有答案,并在将函数名称从 create_function 更改为create_app 后解决了
您的应用程序目录未正确命名吗? 例如,如果你写了FLASK_APP=flaskr
但你的项目名称是别的,你会得到这个错误。 另外,如果项目在教程中命名为flaskr
,那么您的flaskr/flaskr/__init__.py
文件中是什么?
我按照官方教程所说的说明进行操作,但仍然出现相同的错误。
我的问题是我使用的 IDE ( Pycharm )
即使我在flaskr 目录中有一个init .py 文件,它仍然不被视为一个包。
所以我删除了flaskr目录并创建了一个“新包”。 然后只需复制init .py中的代码即可解决问题
您不能将 FLASK_APP 环境变量命名为Flask.py。 请尝试使用其他名称,然后重试。
没有 puedes poner el nombre de la variable deambite FLASK_APP como Flask.py。 Prueba cambiando el nombre del archivo。
根据您使用的操作系统,您需要在您的环境中导出flaskr
对于 Linux 和 Mac:
export FLASK_APP=flaskr
export FLASK_ENV=development
flask run
对于 Windows cmd,使用 set 而不是 export:
set FLASK_APP=flaskr
set FLASK_ENV=development
flask run
对于 Windows PowerShell,使用 $env: 而不是 export:
$env:FLASK_APP = "flaskr"
$env:FLASK_ENV = "development"
flask run```
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.