pip 装完 vllm 后 import 直接报 ModuleNotFoundError: No module named ‘vllm._C’,日志前半段其实有编译失败的记录被刷过去了。

真正麻烦的地方在于,几个原因的现象几乎一样。安装时编译 CUDA 扩展失败,只装了 Python 部分;PyTorch 版本与 vllm 要求的版本不匹配;用源码安装但本机没有匹配的 nvcc;装的是纯 CPU 轮子,缺少编译好的算子。

第一件事是看版本与平台是否有现成轮子

pip index versions vllm

接着按官方要求固定 torch 版本后重装

pip install vllm==0.6.3 --extra-index-url https://download.pytorch.org/whl/cu121

然后确认安装日志里没有编译错误

pip install vllm 2>&1 | Select-String -Pattern 'error|failed'

剩下的就是验证导入与 CUDA 可用性

python -c "import vllm,torch;print(vllm.__version__, torch.cuda.is_available())"

改之前先确认了最近有没有人动过配置,避免白查一遍。

这次没动代码,只在配置和运行环境上找原因。

隔了一天再看,现象没变,说明不是偶发。

恢复的判定其实很直接。import vllm 不再报错,torch.cuda.is_available() 返回 True,能用 vllm serve 正常拉起服务。

提醒一点。vllm 对 torch 和 CUDA 版本非常敏感,升级一个包就可能破坏整套环境,生产环境建议锁版本并用独立虚拟环境。报错文案容易误导,真正的原因往往在相邻那一层的日志里。

作者 9823189