ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

vLLM requirements 依赖管理:多版本文件怎么选、版本冲突怎么排完整指南

vLLM requirements 依赖管理:多版本文件怎么选、版本冲突怎么排完整指南 vLLM requirements 依赖管理多版本文件怎么选、版本冲突怎么排完整指南【免费下载链接】vllmA high-throughput and memory-efficient inference and serving engine for LLMs项目地址: https://gitcode.com/GitHub_Trending/vl/vllmpip install -r requirements/cuda.txt跑到一半弹出ERROR: Cannot install vllm because these package versions have conflicting dependencies手动把 torch 卸了重装import vllm又报No module named flashinfer。折腾三遍的根源都一样vLLM 的依赖不是一套文件requirements/目录里按硬件拆成了 10 多个文件装错文件、或者只改单个包的版本冲突几乎是必然的。说白了vLLM高吞吐 LLM 推理引擎用分层 requirements管理依赖requirements/common.txt放 50 多个所有平台共享的包硬件文件cuda.txt / cpu.txt / rocm.txt 等第一行就是-r common.txt装上硬件文件时基础依赖自动带进来。你唯一要做对的事是选对硬件文件并且整份安装、不要动单个包的版本。读完能拿到这些能力根据硬件条件NVIDIA / AMD / CPU / TPU / XPU选对 requirements 文件看懂-r引用链和 uv 生成的锁文件分清手写文件和自动生成文件排查 torch 与 torchaudio/torchvision 版本不匹配的报错定位 FlashInfer 装不上、protobuf 被 6.x 顶包这类高频冲突知道开发、文档、KV 连接器各自该装哪份清单️ 全局地图requirements 目录 12 个文件一览分类名称管什么什么时候用基础层common.txt50 个全平台共享依赖不直接装被硬件文件引用NVIDIAcuda.txttorch 2.13.0、FlashInfer 0.6.17 等 GPU 栈NVIDIA 生产部署CPUcpu.txtCPU 版 torch 及 Intel/ARM 优化包无 GPU 开发调试AMDrocm.txtROCm 专属依赖与量化组件AMD GPU 部署TPUtpu.txttpu-inference、ray 等Google TPU 集群Intelxpu.txtXPU 专用 wheel 源与内核包Intel 数据中心 GPU测试test/cuda/rocm/xpu/cpuuv 编译出的全量测试锁文件跑 CI/单测开发dev.txt引用 lint.txt test/cuda.txt源码开发、提 PR质量lint.txtpre-commit 格式检查提交前过检查文档docs.in/docs.txtmkdocs 工具链构建文档扩展kv_connectors.txtlmcache、nixl、mooncake 等连接器分布式 KV 缓存继承关系一张图基础层 → 硬件层 → 工具链层箭头表示-r引用。 生产部署NVIDIA GPU装 cuda.txt什么时候用它机器有 NVIDIA GPU、跑vllm serve对外提供推理服务。requirements/cuda.txt的关键版本绑定关系包版本作用torch / torchaudio / torchvision2.13.0 / 2.11.0 / 0.28.0三者必须成套注释写明必须随 torch 一起更新flashinfer-python / -cubin0.6.17注意力加速cubin 不在 PyPI文件里带了 flashinfer 官方源tilelang / apache-tvm-ffi0.1.12 / 0.1.11kernel 编译栈transformers来自 common.txt 5.10.4模型架构加载fastapi来自 common.txt 0.133.0, 0.137.0服务端框架上界是为了避开 route-tree 变更pip install -r requirements/cuda.txt⚠️ 硬绑定一torch 2.13.0 ↔ torchaudio 2.11.0 ↔ torchvision 0.28.0 强耦合只单独升级 torch 会在加载多模态 processor 时炸掉。 ⚠️ 硬绑定二FlashInfer 版本要求与项目 Dockerfile 同步更新flashinfer-cubin自 0.6.14 起不再发 PyPIcuda.txt 里的--extra-index-url行删不得。️ 无 GPU 开发调试装 cpu.txt什么时候用它笔记本改代码、跑单测或目标服务器只有 CPU。requirements/cpu.txt按platform_machine分叉平台条件torch 版本额外组件x86_64 / s390x / aarch642.13.0cpuCPU 专用 wheelx86_64 额外装 intel-openmp 2024.2.1macOS / ppc64le / riscv642.13.0普通 wheel—aarch64—py-cpuinfo识别 ARM 核型做调度优化非 s390x—numba 0.65.0N-gram 投机解码用⚠️torch2.13.0cpu这种本地版本标签只能从 PyTorch 官方 CPU wheel 源解析。如果机器是 x86_64 却装了带cu1xx的 torch 再叠 cpu.txtpip 会把 torch 卸了重装顺带可能带走依赖它的包——这是装了三遍都没跑起来的常见剧本。 AMD / TPU / Intelrocm.txt、tpu.txt、xpu.txt什么时候用它ROCm 的 AMD GPU 集群、TPU Pod、Intel 数据中心 GPU 部署。三个文件的差异集中在加速器专属包和额外 wheel 源文件专属依赖额外安装源 / 特殊约束rocm.txtconch-triton-kernels 1.2.1、amd-quark 0.12.post1、tilelang 0.1.10tilelang 必须配 apache-tvm-ffi 0.1.10比 CUDA 栈低一个版本tpu.txttpu-inference 0.27.0、nixl 0.3.0、ray[default]无 GPU 栈编译工具链为主xpu.txttriton 3.7.2xpu、vllm_xpu_kernels 0.1.13.2两个--extra-index-urlwheels.vllm.ai/xpu 与 PyTorch xpu 源⚠️ rocm.txt 里 grpcio 与 grpcio-reflection 都钉死在 1.78.0注释明说gRPC 库版本必须彼此一致。只升级其中一个KV 传输相关功能会静默失败。️ 开发、文档与 KV 连接器dev.txt、docs.in、kv_connectors.txt什么时候用它要给项目提 PR、本地构建文档、或启用分布式 KV 缓存连接器。dev.txt只有两行实质内容-r lint.txt和-r test/cuda.txt文件头注释写着不要直接往 dev.txt 加东西。test/cuda.txt是 uv 自动生成的 1400 行锁文件每个包下面都有# via ...注释说明它被谁引用。docs.txt同样是 uv 编译产物真正的入口是docs.inuv pip compile requirements/docs.in -o requirements/docs.txt \ --python-platform x86_64-manylinux_2_28 --python-version 3.12 pip install -r requirements/docs.txtkv_connectors.txt体量很小lmcache 0.3.9、nixl 1.3.2、mooncake-transfer-engine 0.3.12配合tools/install_gdrcopy.sh一类的安装脚本使用。⚠️ 两份 uv 锁文件test/cuda.txt、docs.txt头部都带编译命令改依赖请改.in源文件后重新 compile直接手改锁文件会在下次 CI 被覆盖回去。 踩坑速查坑 1FlashInfer 找不到可用版本症状ERROR: Could not find a version that satisfies the requirement flashinfer-cubin0.6.17根因cubin 包 0.6.14 起已撤下 PyPI只留在 flashinfer 官方源单独pip install flashinfer-python不会带这个源。pip install -r requirements/cuda.txt # 整份装源信息在文件第 16 行坑 2protobuf 被顶到 6.x症状装完import vllm报AttributeError: module google.protobuf ...pip show protobuf是 6.x根因common.txt 里 protobuf 排除了 6.30~6.33 一整段CVE-2026-0994手动装别的库时依赖解析器会把它升到 6.x。pip install protobuf5.29.6,6.30.0坑 3xgrammar / llguidance 在冷门架构装不上症状ERROR: Could not find a version that satisfies the requirement xgrammar根因这两个包在 common.txt 里带platform_machine条件仅 x86_64/aarch64/arm64/s390x/ppc64leriscv64 等架构没有 wheel。pip install -r requirements/cpu.txt # 条件依赖自动跳过别单独硬装 一页纸速查场景命令 / 路径备注NVIDIA 生产pip install -r requirements/cuda.txttorch 三件套勿拆CPU 开发pip install -r requirements/cpu.txtx86_64 走 cpu 专用 wheelAMD GPUpip install -r requirements/rocm.txtgRPC 两包同版本TPUpip install -r requirements/tpu.txt依赖 rayIntel XPUpip install -r requirements/xpu.txt需两个额外 wheel 源开发提 PRpip install -r requirements/dev.txt内含 lint 测试锁文件构建文档改requirements/docs.in后重新 uv compile别手改 docs.txtKV 连接器requirements/kv_connectors.txt见tools/install_gdrcopy.sh等脚本源码获取git clone https://gitcode.com/GitHub_Trending/vl/vllm需要本地构建时 收藏提示升级 vLLM 时先 diffrequirements/cuda.txt的 torch 版本行和requirements/test/下的锁文件版本漂移基本都藏在这两处。下一步把requirements/目录加进你的关注列表每次拉新 tag 先对比cuda.txt与rocm.txt的 torch 行遇到解析冲突直接打开对应锁文件头部的 uv 编译命令复现一遍比盲猜版本快得多。【免费下载链接】vllmA high-throughput and memory-efficient inference and serving engine for LLMs项目地址: https://gitcode.com/GitHub_Trending/vl/vllm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表