首页 > 解决方案 > 加载 ASGI 应用程序时出错。无法导入模块“src.main”

问题描述

我看到解决方案正在改变main->src.main所以我尝试了,但即使我使用cd src移动到 src 并运行,也会出现同样的问题uvicorn main:app --reload,错误仍在继续。

我需要什么?

我正在使用虚拟环境,但我尝试在没有 vm 的情况下运行 uvicorn,但我遇到了同样的问题。

代码结构

.
|__ Alembic/
|__ venv/
|__ src/
    |__ main.py
    |__ services.py
    |__ database.py
    |__ models.py
    |__ __init__.py

标签: pythonfastapiuvicorn

解决方案


我认为问题来自VSCode Python解释器

按此顺序尝试:

  1. 在 VSCode 终端中,转到您的项目根文件夹
myProjectRootFolder
|__ ...
|__ venv/
|__ src/
    |__ ...
    |__ main.py
    |__ __init__.py
  1. 激活名为的虚拟环境venv
source venv/bin/activate
  1. 安装所需的依赖项
pip install fastapi uvicorn
  1. 现在!选择Python解释器++ Ctrl(macOS :Shift++ )PCmdShiftP
  1. 停用您的 venv(如果您不停用您的 venv,您将遇到与之前提到的相同的错误)
deactivate
  1. 再次激活
source venv/bin/activate
  1. 运行你的代码
# if you are in the root folder
uvicorn src.main:app

# or

# if you are in the src folder
uvicorn main:app

推荐阅读