GitHub Actions中pytest在Windows特定Python版本超时的排查求助
GitHub Actions中Windows+Python3.9/3.10 pytest测试超时问题解决记录
问题现象
我维护的Python项目通过pytest执行单元测试,配置GitHub Actions在代码推送时自动运行测试。近期遇到异常:
- Windows+Python 3.9/3.10环境下测试运行超6小时仍无法完成
- 相同Python版本在Mac、Linux环境中测试可1小时内完成;Windows环境搭配Python3.8也能正常结束测试
- 本地Windows+Python3.9环境(包括全新创建的conda虚拟环境)测试可在1小时内完成
- 推送历史上已验证无问题的旧代码也出现超时,说明问题不在代码本身,锁定依赖包或GitHub Actions配置环节
排查过程
- 对比三个Windows环境的依赖安装日志,仅
setuptools和typing-extensions版本存在差异,排除setuptools的嫌疑 - 对比最后一次测试通过的commit与首次出现超时的commit,发现多个依赖包版本发生了变化
- 尝试固定以下依赖包的版本后,Windows环境的测试恢复正常:
numpy==1.23.2pandas==1.4.4matplotlib==3.5.3
总结
推测是上述依赖包的高版本在Windows+Python3.9/3.10环境中存在边角案例bug,或是项目的使用方式触发了性能瓶颈,暂时固定版本可解决测试超时问题。
内容的提问来源于stack exchange,提问作者ElRudi
相关产品推荐
相关产品推荐

