已开启
pytest 收集 test_main.py 时会启动 Ray/GPU 推理 #1
阿彪创建于  7月30日
阿彪
阿彪
7月30日 创建

问题描述

test/test_main.py 在模块导入阶段直接导入 MineruEngine、初始化 Ray/GPU 推理引擎、扫描 PDF 并执行推理。pytest 收集测试文件时会导入该模块,因此在未安装 Ray 的环境中,python -m pytest --collect-only -q 会直接因 ModuleNotFoundError: No module named 'ray' 失败。

即使完整安装运行依赖,测试收集也可能意外启动模型和 GPU 任务。

建议修改

将示例执行逻辑放入 main(),并使用 if __name__ == "__main__": 保护直接执行入口;同时把 MineruEngine 的重型导入移到 main() 内。这样直接运行脚本的行为保持不变,pytest 收集或其他模块导入不会启动推理。

验收标准

  • 未安装 Ray 时可以安全导入 test/test_main.py
  • pytest 收集不再出现该文件的导入错误
  • 直接执行脚本时仍进入原有推理流程
likedislike
阿彪阿彪
7月30日 关联了pull request:fix: guard example execution during test collection