在CMD中运行Flask报错:无法定位应用的原因及解决方法
Flask启动错误原因及解决方法
执行
flask run时触发如下错误:
* Environment: production WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Debug mode: off Usage: flask run [OPTIONS] Try 'flask run --help' for help. Error: Could not locate a Flask application. You did not provide the "FLASK_APP" environment variable, and a "wsgi.py" or "app.py" module was not found in the current directory.
错误原因
Flask启动时默认会在当前工作目录查找app.py或wsgi.py作为应用入口文件。如果这两个文件都不存在,且未通过FLASK_APP环境变量指定自定义入口,就会抛出该错误。
解决方法
单文件应用场景
- 检查文件位置:确认你的Flask应用文件(如
app.py)位于当前工作目录,若不在则切换到文件所在目录,或移动文件至当前目录。 - 指定环境变量:手动设置
FLASK_APP变量指向应用文件:- Windows命令行:
set FLASK_APP=app.py(替换app.py为你的实际文件名) - Linux/macOS终端:
export FLASK_APP=app.py
- Windows命令行:
蓝图(Blueprint)架构场景
确保主应用文件中正确导入并注册蓝图,示例代码:
from flask import Flask from my_blueprint import bp # 替换为你的蓝图模块名 app = Flask(__name__) app.register_blueprint(bp) # 注册蓝图到应用
完成后按照单文件场景的方式,通过FLASK_APP指定主应用文件即可。
工厂函数架构场景
若使用工厂函数创建应用,先确保工厂函数正确返回Flask实例,示例代码(以factory.py为例):
from flask import Flask def create_app(): app = Flask(__name__) # 此处添加配置、蓝图注册等逻辑 return app
随后通过FLASK_APP指定工厂函数路径:
- Windows命令行:
set FLASK_APP=factory:create_app - Linux/macOS终端:
export FLASK_APP=factory:create_app
内容的提问来源于stack exchange,提问作者km w
相关产品推荐
相关产品推荐

