# PR #43377 完整报告

- 仓库：`vllm-project/vllm`
- 标题：[BugFix] Fix setuptools-rust dep in requirements files
- 合并时间：2026-05-22 15:25
- 原文链接：http://prhub.com.cn/vllm-project/vllm/pull/43377

---

# 执行摘要

- 一句话：修复 setuptools-rust 依赖在多个平台文件中错放与重复
- 推荐动作：此 PR 变更简单且正确，但建议在后续 PR 中一并处理 review 指出的其他缺失构建依赖（ninja 等），以确保构建环境完整。

# 功能与动机

在 ROCm、TPU 平台构建时出现 `ModuleNotFoundError: No module named 'setuptools_rust'` 错误（见 Issue 评论），XPU 文件中有重复条目。

# 实现拆解

1. **ROCm - `requirements/build/rocm.txt`**：添加缺失的 `setuptools-rust>=1.9.0` 到 build 依赖块。
2. **TPU - `requirements/build/tpu.txt`**：添加缺失的 `setuptools-rust>=1.9.0` 到 build 依赖块。
3. **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 进行更彻底的修复。