执行摘要
此 PR 移除了 CPU 和 s390x 平台构建过程中全局配置的 --extra-index-url(指向 PyTorch CPU 包索引),改为在 uv pip install 命令中直接使用 --torch-backend cpu 标志。此举旨在避免因全局 extra index 导致的包下载不稳定问题,同时简化配置。
功能与动机
PR 描述指出:“Remove global extra index to avoid flaky package downloads.” 全局 extra index 可能导致 pip 从多个索引下载包,增加网络不稳定和版本冲突的风险。使用 --torch-backend cpu 是 uv 推荐的方式,可以更精确地指定后端索引,避免不必要的索引切换。
实现拆解
- 移除 requirements 文件中的全局 extra-index 行:在
requirements/build/cpu.txt 和 requirements/cpu.txt 中删除以 --extra-index-url 开头的行。这些行此前会在所有 pip 安装中注入额外索引。
- 更新 Dockerfile.cpu:删除 ARG
PIP_EXTRA_INDEX_URL 及其对应的环境变量 PIP_EXTRA_INDEX_URL 和 UV_EXTRA_INDEX_URL。将所有 uv pip install 命令后添加 --torch-backend cpu 标志,以显式指定使用 PyTorch CPU 后端索引。涉及 requirements/cpu.txt、requirements/build/cpu.txt、requirements/test/cpu.txt、requirements/lint.txt 相关的安装命令。
- 更新 Dockerfile.s390x:在 s390x Dockerfile 中的
uv pip install 命令后添加 --torch-backend cpu 标志。
- 更新安装文档:在
cpu.apple.inc.md 中删除关于 --index-strategy unsafe-best-match 的 tip 说明,并简化安装命令。在 cpu.s390x.inc.md 中将 --extra-index-url 替换为 --torch-backend cpu 和 --index-strategy unsafe-best-match。
无关键代码逻辑变更,仅涉及配置和文档修改。
评论区精华
无实质性 review 讨论。
风险与影响
- 风险:较低。需确保 uv 版本支持
--torch-backend 标志;文档中删除了 unsafe-best-match 的解释,新用户可能不了解该策略。
- 影响:仅限 CPU/s390x 平台的 Docker 构建和本地安装流程,对运行时不产生影响。
关联脉络
此 PR 是独立的 CI/构建清理工作,与近期其他 PR(如 #45243 RISC-V BF16 修复、#47532 VLEN 检测修复)没有直接关联。
参与讨论