Flask run报错无法导入“App”及“App.py”问题求助
故障根因与解决方案
核心问题
你当前的项目结构和执行时的工作目录不符合Flask的模块加载逻辑,同时存在环境变量拼写错误的问题,按以下步骤修正即可:
- 第一步:修正项目结构
你目前将app.py、static、templates业务代码都存放在虚拟环境newvenv的Scripts目录下,属于错误的存放方式,虚拟环境目录仅用于存储Python依赖文件,业务代码需放在虚拟环境同级目录下,修正后结构参考:
你的项目根目录(可自定义名称,比如flask_demo) |-- newvenv/ # 保留原有虚拟环境的Include、Lib、Scripts等子目录即可 |-- app.py |-- static/ |-- templates/
如果临时不想调整结构,也可以直接将cmd的工作目录切换到newvenv\Scripts路径下执行后续命令,但非常不推荐长期将业务代码放在虚拟环境目录内,重装虚拟环境时会直接丢失代码。
- 第二步:执行正确的启动流程
- 打开cmd,切换到上述项目根目录(
app.py所在的目录) - 激活虚拟环境:执行
newvenv\Scripts\activate,激活后命令行前缀会出现(newvenv)标识 - 配置正确的Flask环境变量:
set FLASK_APP=app.py set FLASK_ENV=development
注意:你此前拼写错误,环境变量名是FLASK_ENV而非FLASK_ENVIRONMENT
4. 启动服务:执行flask run即可正常加载项目,也可以直接执行python app.py调用你写在文件末尾的启动代码运行,两种方式都生效。
- 额外排查项
如果调整后仍报导入错误,检查app.py内是否正确实例化了Flask对象,确认存在app = Flask(__name__)类代码,没有拼写错误或者语法问题。
内容的提问来源于stack exchange,提问作者jtlovato
相关产品推荐
相关产品推荐

