报错ImportError: /root/miniconda3/envs/wlz_vllm/lib/python3.9/site-packages/torch/lib/../../nvidia/cus

安装 vllm 时会安装依赖 torch,安装完之后报如下错误:

完整报错信息:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/root/miniconda3/envs/wlz_vllm/lib/python3.9/site-packages/torch/__init__.py", line 367, in <module>
    from torch._C import *  # noqa: F403
ImportError: /root/miniconda3/envs/wlz_vllm/lib/python3.9/site-packages/torch/lib/../../nvidia/cusparse/lib/libcusparse.so.12: undefined symbol: __nvJitLinkComplete_12_4, version libnvJitLink.so.12

解决方案:

把你conda环境里的nvidia/nvjitlink里的lib路径放到LD_LIBRARY_PATH环境变量中

export LD_LIBRARY_PATH=/root/miniconda3/envs/wlz_vllm/lib/python3.9/site-packages/nvidia/nvjitlink/lib:$LD_LIBRARY_PATH

### 解决方案 在 Python 中导入 PyTorch 时遇到 `ImportError` 和 `undefined symbol` 错误通常是由库版本不匹配或依赖项缺失引起的。以下是可能的原因及其解决方案: #### 1. **Python 版本与 PyTorch 不兼容** PyTorch 的某些版本可能未完全支持特定的 Python 版本,例如 Python 3.10 可能尚未被早期版本的 PyTorch 完全适配[^2]。建议降级到更稳定的 Python 版本(如 Python 3.8 或 3.9),并重新安装对应的 PyTorch。 ```bash conda create -n torch_env python=3.9 conda activate torch_env pip install torch torchvision torchaudio ``` #### 2. **CUDA 驱动程序或工具链问题** 如果使用 GPU 支持的 PyTorch,则需要确保 CUDA 工具链和驱动程序已正确安装且版本一致。错误消息中提到的 `__nvJitLinkAddData_12_1` 表明可能存在 CUDA 库符号解析失败的情况。可以通过以下方法验证和修复: - 检查当前系统的 CUDA 版本: ```bash nvcc --version ``` - 如果发现 CUDA 版本过旧或新,请更新至推荐版本(如 CUDA 11.x)。同时确认 NVIDIA 驱动满足最低要求。 - 使用官方脚本来自动配置环境: ```bash pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu117 ``` #### 3. **libtorch_python.so 文件损坏或链接异常** 当动态链接器无法找到所需的符号定义时会抛出此错误。这可能是由于编译选项不同步或者共享对象文件路径混乱所致[^1]。尝试清理现有安装并重装最新版 PyTorch: ```bash pip uninstall torch torchvision torchaudio pip cache purge pip install torch torchvision torchaudio ``` 对于 Conda 用户,可以执行如下命令来重建虚拟环境以排除潜在冲突[^3]: ```bash conda remove --name your_env_name --all conda create -n new_torch_env python=3.9 conda activate new_torch_env conda install pytorch torchvision torchaudio cpuonly -c pytorch ``` #### 4. **C++ 符号名称差异引发的问题** 部分情况下,C++ 编译器生成的 ABI (应用程序二进制接口)可能会随时间变化而改变,从而导致加载期间找不到预期函数签名[^4]。切换到较新的 GCC/G++ 实现有助于缓解此类难题: ```bash sudo apt-get update && sudo apt-get upgrade gcc g++ export CC=gcc CXX=g++ pip install --force-reinstall torch ``` --- ### 总结 上述分析涵盖了多种可能导致 `ImportError: ... undefined symbol:` 出错的情形,并提供了针对性措施加以应对。实际操作过程中需依据具体报错信息逐一排查直至恢复正常运行状态为止。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值