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

Python项目ModuleNotFoundError: No module named '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

报错信息

Traceback (most recent call last):
File "easylaw-api/src/api/main.py", line 3, in 
from routers import (
File "easylaw-api/src/api/routers/codes.py", line 2, in 
from services import codes_service
File "easylaw-api/src/api/services/codes_service.py", line 7, in 
from src.config.doNothing import doNothing
ModuleNotFoundError: No module named 'src'

问题说明

运行代码时触发上述ModuleNotFoundError,错误来自codes_service.py里的导入语句from src.config.doNothing import doNothing。我知道这和相对导入规则有关,但试了from ..config.doNothing import doNothing这类写法都无效,求可行的解决办法。


解决方法

1. 修正相对导入层级

codes_service.py位于src/api/services/,要导入src/config/下的模块,需要往上跳两级目录,所以用三级相对导入:

from ...config.doNothing import doNothing
  • 注:每个..表示向上跳转一级目录,从services/到src/需要先到api/(一级),再到src/(二级),因此用...。

2. 把项目根目录加入Python搜索路径

运行代码前,将easylaw-api目录添加到PYTHONPATH,让Python能识别src作为顶级模块:

  • Linux/macOS:
export PYTHONPATH="/绝对路径/easylaw-api:$PYTHONPATH"
python src/api/main.py
  • Windows:
set PYTHONPATH=C:\绝对路径\easylaw-api;%PYTHONPATH%
python src/api/main.py
  • 应急方案(代码内添加):在main.py最顶部加入以下代码,临时扩展路径:
import sys
import os
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '../../')))

3. 以包的形式运行代码

确保所有目录都存在__init__.py(你的项目已满足),从easylaw-api根目录执行:

python -m src.api.main

这种方式会自动将项目根目录纳入模块搜索路径,from src.config.doNothing import doNothing即可正常生效。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 17:10:24