内网 CentOS 7 机器,pip install vllm==0.6.3 报 Could not find a version that satisfies the requirement nvidia-cublas-cu12,本地源里只有主包。
一开始怀疑是「pip 版本太旧,不认 manylinux 标签」,查了一圈,方向不对。
真正麻烦的地方在于,几个原因的现象几乎一样。vLLM 依赖一组 nvidia 开头的 CUDA wheel。少数情况下是离线源只同步了顶层包。
还有一种情况,Python 3.8 不在该版本支持范围内。
第一件事是在联网机器下载全部依赖
pip download vllm==0.6.3 -d ./wheels --platform manylinux2014_x86_64 --python-version 310 --only-binary=:all:
再往下打包拷进内网后离线安装
pip install --no-index --find-links=./wheels vllm==0.6.3
随后确认能导入并打印版本
python -c "import vllm;print(vllm.__version__)"
起一个最小服务验证
python -m vllm.entrypoints.openai.api_server --model /models/qwen --port 8001
改之前先确认了最近有没有人动过配置,避免白查一遍。
这次没动代码,只在配置和运行环境上找原因。
隔了一天再看,现象没变,说明不是偶发。
那几天正好在做别的变更,先把时间线对齐才敢动手。
恢复的判定其实很直接。导入 vllm 成功,起服务能加载模型,日志里没有缺少 so 文件的报错。
离线安装要连依赖一起下载,只搬主包必然缺 CUDA 运行时。同一份配置在测试环境跑通,不代表线上没事,两边的默认值经常不一样。
