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 版本非常敏感,升级一个包就可能破坏整套环境,生产环境建议锁版本并用独立虚拟环境。报错文案容易误导,真正的原因往往在相邻那一层的日志里。