Ubuntu环境下PyTorch导入报错:from torch._C import相关ImportError
解决PyTorch导入时
__nvJitLinkAddData_12_1未定义符号错误 错误原因
这个错误是CUDA相关库版本不匹配导致的:PyTorch安装时附带的CUDA库(比如cusparse)依赖的libnvJitLink.so.12版本,和系统中已有的该库版本不一致,或者虚拟环境内的库路径覆盖了系统正确的库路径,导致符号找不到。
解决方案
方案1:对齐CUDA Toolkit版本
- 先确认PyTorch依赖的CUDA版本:
如果还能运行简单的Python命令,执行:
要是现在import不了,就回忆你安装PyTorch时选择的CUDA版本,或者去PyTorch官网查询对应安装包的CUDA版本。python -c "import torch; print(torch.version.cuda)" - 安装和PyTorch版本匹配的CUDA Toolkit:卸载当前不匹配的版本,安装对应版本的CUDA,确保
libnvJitLink.so.12包含缺失的符号。
方案2:调整库路径优先级
虚拟环境里的CUDA库可能和系统的冲突,通过环境变量让系统优先用正确的库:
- 找到系统CUDA的安装路径(一般是
/usr/local/cuda-xx.x,xx.x是版本号) - 激活虚拟环境后,临时执行:
要是想永久生效,把这条命令添加到虚拟环境的export LD_LIBRARY_PATH=/usr/local/cuda-xx.x/lib64:$LD_LIBRARY_PATHactivate脚本里(比如venvs/torchgpu/bin/activate),每次激活环境都会自动加载。
方案3:重新安装适配系统CUDA的PyTorch
- 先查系统当前的CUDA版本:
nvcc --version - 卸载旧的PyTorch包:
pip uninstall torch torchvision torchaudio -y - 用对应系统CUDA版本的命令重新安装,比如系统CUDA是12.1的话,命令如下:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
验证修复
激活虚拟环境后执行:
python -c "import torch; print(torch.cuda.is_available())"
输出True就说明问题解决了。
内容的提问来源于stack exchange,提问作者Keegan
相关产品推荐
相关产品推荐

