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

使用pytest导入函数时遇ModuleNotFoundError问题求助

解决pytest导入src模块的ModuleNotFoundError问题

针对你遇到的ModuleNotFoundError: No module named 'src'问题,有以下几种可行的解决思路:

方案1:运行pytest时临时添加项目根目录到Python路径

在项目根目录执行以下命令,将当前目录(项目根)加入Python的模块搜索路径:

PYTHONPATH=. pytest

这样Python就能找到src目录下的addsub模块,测试文件里的from src.addsub import add就能正常导入。

方案2:将项目以可编辑模式安装

这种方式更适合长期开发,执行以下命令(项目根目录下):

pip install -e .

该命令会把addsub包安装为可编辑模式(包文件会以链接形式关联到项目源码),之后你可以修改测试文件的导入语句,去掉src前缀:

from addsub import add

之后直接运行pytest即可,无需额外配置路径。

方案3:修改测试文件的导入方式(相对导入)

给tests目录添加__init__.py文件,将其变为Python包,然后修改测试文件的导入语句为相对导入:

from ..src.addsub import add

不过这种方式需要注意,运行pytest时要确保从项目根目录执行,且部分pytest版本对相对导入的支持可能有差异,不如前两种方案稳定。

补充说明

出现这个错误的核心原因是:当pytest加载tests/test_add.py时,Python的模块搜索路径(sys.path)默认会加入tests目录,但不会自动包含项目根目录,因此无法找到src目录下的模块。上述三种方案都是通过不同方式让Python能定位到src或addsub模块。

内容的提问来源于stack exchange,提问作者Robert Alexander

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 03:10:11