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

Windows终端启动Uvicorn服务报错无法导入main模块

问题根因

终端抛出Error loading ASGI app. Could not import module "main"错误的核心原因是:Uvicorn在执行命令的当前工作目录下,无法找到名为main.py的入口代码文件,和Windows系统本身、虚拟环境激活状态无关。日志里的--reload生产环境警告只是常规开发提示,不是导致启动失败的原因。

排查与解决方案

按优先级依次排查即可:

  • 第一步:确认当前工作目录正确
    从日志可以看到你执行命令时的路径是E:\Python Practice\FastAPI\fastapi\fastapi,先在当前终端执行dir命令列出目录下所有文件,检查是否存在main.py。
    如果找不到该文件,说明你进入的目录层级错误,用cd命令切换到main.py实际存放的目录后再执行启动命令即可。例如如果你的main.py存放在上一级的E:\Python Practice\FastAPI\fastapi路径下,执行:
    cd E:\Python Practice\FastAPI\fastapi
    
  • 第二步:确认入口文件后缀正确
    Windows默认会隐藏已知文件类型的扩展名,很容易出现看似命名为main.py、实际全名是main.py.txt的情况。打开对应文件夹的文件资源管理器,勾选「显示-文件扩展名」选项,确认入口文件后缀确实是.py,修正错误命名即可。
  • 第三步:确认启动命令和文件名匹配
    Uvicorn启动命令的格式为uvicorn <入口文件名(不带.py后缀)>:<FastAPI实例对象名>,如果你的入口文件本身就不叫main.py(比如命名为app.py、run.py),需要把命令里的main替换成实际的文件名。例如入口文件是app.py时,启动命令要改为:
    uvicorn app:app --reload
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 22:42:15