模块未找到错误:没有名为'src'的模块,尝试从子包导入

0 投票
1 回答
37 浏览
提问于 2025-04-13 02:28

我在我的项目中有这样的文件夹结构:

easylaw-api/
│
├── src/
│   ├── api/
│   │   ├── main.py
│   │   ├── __init__.py
│   │   ├── models/
│   │   │   ├── codes.py
│   │   │   └── __init__.py
│   │   │
│   │   ├── routers/
│   │   │   └── __init__.py
│   │   │
│   │   └── services/
│   │       ├── codes_service.py
│   │       └── __init__.py
│   │
│   ├── config/
│   │   ├── doNothing.py
│   │   ├── supabase_client.py
│   │   └── __init__.py

我遇到了这个问题:

错误追踪(最近的调用在最前面):

文件 "easylaw-api/src/api/main.py",第 3 行,在

从 routers 导入(

文件 "easylaw-api/src/api/routers/codes.py",第 2 行,在

从 services 导入 codes_service

文件 "easylaw-api/src/api/services/codes_service.py",第 7 行,在

从 src.config.doNothing 导入 doNothing

ModuleNotFoundError: 没有名为 'src' 的模块

导致错误的导入语句是:

from src.config.doNothing import doNothing

我知道这个问题可能和相对导入有关,但我不太确定该怎么解决。任何指导或建议都将非常感谢。谢谢!

我尝试把导入改成这样:

from ..config.doNothing import doNothing

还有其他一些变体,但都没有成功。

1 个回答

0

你运行一个Python文件时,工作目录会是这个文件的上级文件夹。所以你实际上是在用“.\src\api”作为工作目录,而不是你可能想要的“.”。这样一来,程序就找不到模块src,无论你是直接导入还是相对导入都不行。

试着把你的主文件移动到项目的根文件夹,然后相应地调整相对导入的方式。

撰写回答