You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask入门项目启动报错:无法从'app'导入'app'

解决Flask启动时的ImportError问题

嘿,别着急,我刚入门Flask的时候也踩过类似的坑!咱们一步一步来排查解决:

首先,检查你的文件结构是否正确

从你给出的文件路径来看,这里有个关键错误:你把__init__.py和routes.py放在了microblog根目录下(C:\Users\Grae_\microblog\),但按照你的操作步骤,这两个文件应该放在app子目录里(C:\Users\Grae_\microblog\app\)!

正确的文件结构应该是这样的:

microblog/
├── app/
│   ├── __init__.py
│   └── routes.py
├── venv/
└── microblog.py

如果文件位置错了,Python会把根目录下的__init__.py当成app模块来导入,自然找不到你在app子目录里定义的app对象,就会抛出ImportError。

其次,修正代码里的循环导入问题

即使文件位置对了,有时候也会因为循环导入触发这个错误。咱们调整一下app/__init__.py的代码顺序,确保app对象完全创建后再导入路由:

修改app/__init__.py为:

from flask import Flask

# 先创建app对象
app = Flask(__name__)

# 等app定义完成后再导入routes,避免循环导入
from app import routes

其他文件的代码保持你写的就可以:

  • app/routes.py:
    from app import app
    
    @app.route('/')
    @app.route('/index')
    def index():
        return "Hello, World!"
    
  • microblog.py:
    from app import app
    

最后,重新执行启动命令

进入虚拟环境后,按顺序执行:

set FLASK_APP=microblog.py
flask run

这样应该就能正常启动Flask服务,看到Hello, World!了!

内容的提问来源于stack exchange,提问作者Peter Jordanson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 07:17:51