执行摘要
- 一句话:修复 setuptools-rust 依赖在多个平台文件中错放与重复
- 推荐动作:此 PR 变更简单且正确,但建议在后续 PR 中一并处理 review 指出的其他缺失构建依赖(ninja 等),以确保构建环境完整。
功能与动机
在 ROCm、TPU 平台构建时出现 ModuleNotFoundError: No module named 'setuptools_rust' 错误(见 Issue 评论),XPU 文件中有重复条目。
实现拆解
- ROCm -
requirements/build/rocm.txt:添加缺失的 setuptools-rust>=1.9.0 到 build 依赖块。
- TPU -
requirements/build/tpu.txt:添加缺失的 setuptools-rust>=1.9.0 到 build 依赖块。
- XPU -
requirements/xpu.txt:删除重复的 setuptools-rust>=1.9.0 条目,仅保留正确位置的一份。
关键文件:
requirements/build/rocm.txt(模块 构建配置;类别 infra;类型 configuration): 修复 ROCm 构建依赖缺失
requirements/build/tpu.txt(模块 构建配置;类别 infra;类型 configuration): 修复 TPU 构建依赖缺失
requirements/xpu.txt(模块 依赖配置;类别 infra;类型 configuration): 移除 XPU 依赖中的重复条目
关键符号:未识别
评论区精华
自动化 review 工具(gemini-code-assist[bot])指出 ROCm build 文件中还缺少 ninja、TPU build 缺少 packaging 和 jinja2、XPU 缺少 ninja,但这些未在 commit 中修复。审核人 Isotr0py 批准了 PR。
- 缺失其他构建依赖 (correctness): 未在本次 PR 中处理,但 PR 本身被批准合并。
风险与影响
- 风险:低风险。仅修改 requirements 文本文件,不涉及代码逻辑。但自动化工具指出的其他缺失构建依赖(ninja, packaging, jinja2)仍未补全,可能导致未来在特定平台出现构建失败。
- 影响:直接修复 ROCm、TPU 的 Docker 构建失败,消除 XPU 的重复依赖警告。影响范围为这三个平台的构建流程和用户 pip 安装场景。
- 风险标记:缺少其他构建依赖未修复
关联脉络
- PR #43360 Fix the docker build failure in tpu-inference: 同样修复 TPU Docker 构建,但当时通过修改 requirements/tpu.txt 解决,本 PR 改为 requirements/build/tpu.txt 进行更彻底的修复。
参与讨论