模块未找到错误:没有名为'src'的模块,尝试从子包导入
我在我的项目中有这样的文件夹结构:
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
,无论你是直接导入还是相对导入都不行。
试着把你的主文件移动到项目的根文件夹,然后相应地调整相对导入的方式。