Git合并分支时测试流水线报错:自有模块ModuleNotFoundError
问题排查与解决思路
- 核心原因:流水线环境的Python模块搜索路径(PYTHONPATH)未包含项目根目录,或测试脚本执行路径不正确,导致无法识别新增的
folder/subfolder2模块。本地运行正常是因为你的IDE或终端自动将项目根目录加入了模块搜索路径。 - 不需要修改develop分支的配置,问题出在测试流水线的环境设置上,可按以下方式调整:
- 在测试脚本执行前,将项目根目录添加到PYTHONPATH环境变量。比如在流水线脚本中添加:
或者在测试脚本开头加入代码(根据脚本实际位置调整路径层级):export PYTHONPATH=$(pwd):$PYTHONPATHimport sys from pathlib import Path sys.path.append(str(Path(__file__).parent.parent)) - 检查流水线的工作目录是否正确,确保流水线在项目根目录下执行测试脚本,而非子目录。
- 在测试脚本执行前,将项目根目录添加到PYTHONPATH环境变量。比如在流水线脚本中添加:
- 额外验证步骤:可在流水线中先执行
ls -R folder命令,确认subfolder2已被正确拉取到流水线环境中,排除代码拉取环节的问题。
内容的提问来源于stack exchange,提问作者ndehler
相关产品推荐
相关产品推荐

