运行uvicorn启动FastAPI报错:无法加载ASGI应用、导入main模块
报错原因
- 执行命令的工作目录不匹配:你没有在
main.py所在的文件夹下运行启动命令,uvicorn无法在当前工作路径下检索到main模块。从日志可看出当前监听路径直接指向了main.py文件而非它的父目录,也印证了路径配置错误的问题。 - 文件名不符合要求:本地文件实际名称不是
main.py,比如存在大小写偏差(如Main.py,macOS、Linux系统对文件名大小写敏感)、后缀名错误(如main.py.txt)。 - 虚拟环境未激活:如果项目依赖安装在单独的虚拟环境中,未激活环境就执行全局uvicorn命令,也会出现模块导入失败的问题。
解决方案
- 先切换工作目录到
main.py所在的文件夹,比如你的main.py存放在/Users/Documents/my_project/路径下,执行命令:
cd /Users/Documents/my_project/
- 确认当前目录下存在正确命名的
main.py文件,macOS/Linux执行ls、Windows执行dir核对文件列表。 - 激活项目对应的虚拟环境后,再执行启动命令:
uvicorn main:app --reload
- 若上述操作仍未解决,可以通过参数直接指定工作目录启动:
uvicorn main:app --reload --app-dir /Users/Documents/my_project/
内容的提问来源于stack exchange,提问作者user16555888
相关产品推荐
相关产品推荐

