运行pytest时出现ModuleNotFoundError: No module named 'conf'报错如何解决
问题原因
报错的根源是BriqueReglementFinancier目录下的fonctions.py文件第12行的导入写法错误:from conf import *,Python无法从现有搜索路径中找到conf模块。你之前尝试导入config模块和该问题无关,自然无法解决报错。
解决方案
方案1:修改fonctions.py的导入语句(最推荐,一劳永逸)
将fonctions.py中的from conf import *修改为以下任意一种写法即可:
- 相对导入:
from .conf import *(.表示从当前文件所在的目录导入conf模块) - 绝对导入:
from Ecarts.applis.aoc.echange.module.calculRegFi.BriqueReglementFinancier.conf import *(和你测试文件中的导入规则保持一致)
方案2:无法修改fonctions.py时,调整测试文件的Python搜索路径
在测试文件所有导入语句的最前面添加以下代码,将conf.py所在的目录加入Python搜索路径:
import sys import os # 计算conf.py所在目录的绝对路径,加入搜索路径最优先位置 conf_parent_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), "../../../BriqueReglementFinancier")) sys.path.insert(0, conf_parent_dir)
不要使用相对路径../../配置sys.path,相对路径会受运行测试时的工作目录影响,稳定性差。
额外修正
你测试代码第一行的import unitest拼写错误,正确写法为import unittest。
内容的提问来源于stack exchange,提问作者meuhfunk
相关产品推荐
相关产品推荐

