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

Uvicorn报错:模块'app.app'中未找到属性'app'求助

解决FastAPI + Uvicorn "Attribute 'app' not found in module 'app.app'"错误

问题场景

按照教程搭建项目,文件结构为:

  • 外层目录有main.py
  • app文件夹内有app.py

main.py代码:

import uvicorn

if __name__ == "__main__":
    uvicorn.run("app.app:app", port=8000, reload=True)

app.py代码:

from fastapi import FastAPI
app = FastAPI()

@app.get("/", tags=['ROOT'])
async def root() -> dict:
    return{"Ping":"Pong"}

运行main.py时出现错误:

Error loading ASGI app. Attribute "app" not found in module "app.app".

尝试重命名app.py和命令行启动Uvicorn均无效。

解决方案

1. 给app文件夹添加__init__.py

Python需要文件夹内有__init__.py才能将其识别为Python包,否则无法正确导入内部模块的属性。

在app文件夹里创建一个空的__init__.py文件,最终文件结构应为:

项目根目录/
├── main.py
└── app/
    ├── __init__.py
    └── app.py

2. 确保在项目根目录运行代码

如果终端工作目录不是项目根目录(即包含main.py和app文件夹的目录),Uvicorn会找不到正确的模块路径。

打开终端,切换到项目根目录后再运行:

python main.py

或者直接用Uvicorn命令启动(同样在项目根目录执行):

uvicorn app.app:app --port 8000 --reload

3. 排查命名冲突

检查是否存在以下情况:

  • 项目目录外有同名的app.py或app文件夹
  • Python环境中安装了与app同名的第三方包
  • app.py内的FastAPI实例变量名是否确实为app(你的代码里是正确的,可再次确认)

内容的提问来源于stack exchange,提问作者Friendly One

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 04:35:05