加载image Python扩展失败,更换torch/torchvision版本仍未解决求建议
报错详情:
env/lib/python3.10/site-packages/torchvision/io/image.py:13: UserWarning: Failed to load image Python extension: libtorch_cuda_cu.so: cannot open shared object file: No such file or directory
warn(f"Failed to load image Python extension: {e}")
以下是针对性解决建议:
严格匹配CUDA与PyTorch版本
先通过nvcc --version确认本地CUDA的大版本(如11.8、12.1),再安装对应版本的PyTorch和torchvision,避免盲目更换版本。例如CUDA 11.8对应的安装命令:pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118安装时确保网络稳定,避免因中断导致的安装不完整。
检查CUDA环境变量配置
系统可能未识别CUDA的动态链接库路径,执行echo $LD_LIBRARY_PATH查看是否包含/usr/local/cuda/lib64(CUDA默认安装路径)。若未包含,临时添加:export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH要永久生效,将该命令写入
~/.bashrc(bash用户)或~/.zshrc(zsh用户),再执行source ~/.bashrc生效。验证PyTorch的CUDA可用性
先排查基础CUDA加载问题,运行以下Python代码:import torch print(torch.cuda.is_available()) print(torch.version.cuda)若输出
True且CUDA版本与本地安装一致,说明基础环境正常;若输出False,优先解决CUDA驱动或PyTorch安装问题,再处理torchvision报错。从源码编译torchvision
若预编译包存在兼容性问题,尝试源码编译:- 卸载现有torchvision:
pip uninstall torchvision -y - 克隆仓库并切换到对应PyTorch版本的分支(如PyTorch 2.0对应torchvision 0.15分支):
git clone https://github.com/pytorch/vision.git cd vision git checkout v0.15.2 - 编译安装:
python setup.py install(需提前安装gcc、cmake等编译依赖)
- 卸载现有torchvision:
重建干净的虚拟环境
旧虚拟环境可能存在依赖冲突或损坏,新建环境重新安装:python3.10 -m venv new_env source new_env/bin/activate在新环境中重新安装对应版本的PyTorch和torchvision,避免旧环境干扰。
内容的提问来源于stack exchange,提问作者Ranim Saidi

