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

Python单元测试报错ModuleNotFoundError: No module named 'logger_util'

解决PyCharm单元测试中的ModuleNotFoundError(找不到logger_util模块)

问题根源在于Python的模块搜索路径差异:运行主业务代码时,PyCharm默认把src/main加入了搜索路径,所以data_normalizer.py里直接import logger_util能找到同目录模块;但跑单元测试时,启动目录可能是project_folder或src/test,src/main不在搜索路径里,就会报错。

给你几个可行的解决办法:

  • 修改业务代码为相对导入
    把data_normalizer.py里的import logger_util改成:

    from . import logger_util
    

    你的目录已经有__init__.py,属于标准包结构,相对导入能保证不管从哪个目录启动,都能正确找到同包内的模块。

  • 给PyCharm设置源根

    1. 右键点src/main目录,选Mark Directory as -> Sources Root
    2. 再把src/test目录设为Test Sources Root
      这样PyCharm跑测试时会自动把src/main加入模块搜索路径,原有的导入语句就能正常工作。
  • 调整测试运行的工作目录

    1. 点右上角运行按钮旁的下拉菜单,选Edit Configurations
    2. 找到你的单元测试配置,在Working directory里把路径改成project_folder/src/main
    3. 保存后重新跑测试,此时工作目录和主业务代码一致,就能找到logger_util。
  • 在测试文件里手动加路径
    在测试文件最顶部加这段代码,把src/main塞进Python的搜索路径:

    import sys
    from pathlib import Path
    
    main_dir = Path(__file__).parent.parent / "main"
    sys.path.append(str(main_dir.resolve()))
    

    这种方法不用改业务代码或IDE配置,就是要确保路径写对。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 22:12:33