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

pytest导入测试目录模块失败:ModuleNotFoundError问题求助

解决pytest导入ModuleNotFoundError问题

解决方案

方法1:修正导入路径

修改test_MyTest.py中的导入语句,匹配实际文件结构:

from lexor.lexor.MyClass import MyClass

方法2:设置PYTHONPATH环境变量

运行pytest时,将当前目录(外层lexor目录)加入Python模块搜索路径:

  • Linux/macOS终端:
PYTHONPATH=$(pwd) pytest
  • Windows命令提示符:
set PYTHONPATH=%cd% && pytest

设置后,原导入语句from lexor.MyClass import MyClass即可正常工作。

方法3:使用相对导入(不推荐)

若将tests目录视为包,可使用相对导入,但这种方式对pytest运行方式有局限:

from ..lexor.MyClass import MyClass

注意:必须从外层lexor目录运行pytest,且不能直接指定单个测试文件执行。

问题原因

你的项目结构中,MyClass.py实际位于外层lexor/lexor/MyClass.py,在外层lexor目录运行pytest时,Python默认将当前目录加入模块搜索路径。原导入语句from lexor.MyClass import MyClass会尝试在外层lexor目录下查找MyClass.py,但该文件不存在,因此触发ModuleNotFoundError。

内容的提问来源于stack exchange,提问作者Lex Podgorny

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 22:15:36