Conda环境中CUDA与PyTorch版本不匹配问题求助
问题原因
- 多版本PyTorch共存冲突:conda环境中同时存在
conda安装的PyTorch1.9.1+cuda10.2和pip安装的torch2.0.1+cu117,Python运行时优先加载了torch2.0.1,但该版本依赖的CUDA编译版本是11.7,而系统全局的nvcc(CUDA编译工具)版本为10.1,二者不匹配触发报错。 - CUDA工具链版本不统一:conda环境内的
cudatoolkit10.2与pip安装包依赖的CUDA11.7版本冲突,同时系统驱动版本12.1虽兼容CUDA10.1和11.7,但编译工具nvcc的版本未与PyTorch的编译CUDA版本对齐。
解决方法
步骤1:清理环境中的冲突PyTorch包
彻底移除环境内所有PyTorch相关包,避免残留:
- 执行conda卸载命令:
conda remove pytorch torchvision torchaudio cudatoolkit --force - 再执行pip卸载命令:
pip uninstall torch torchvision torchaudio -y
步骤2:统一安装匹配CUDA版本的PyTorch
根据需求选择以下两种方案之一:
方案A:基于系统nvcc10.1安装对应PyTorch
如果需要保留系统CUDA10.1编译工具,安装兼容10.1的CUDA10.2版本PyTorch,使用conda命令:
conda install pytorch==1.9.1 torchvision==0.10.1 torchaudio==0.9.1 cudatoolkit=10.2 -c pytorch
验证安装:
import torch print(torch.__version__) print(torch.cuda.is_available()) print(torch.version.cuda)
确保输出的torch.version.cuda为10.2,且与nvcc -V的版本(10.1)兼容。
方案B:升级CUDA编译工具至11.7,匹配torch2.0.1
如果需要使用torch2.0.1,将系统的CUDA编译工具升级至11.7(驱动12.1兼容该版本),之后重新安装torch2.0.1+cu117:
conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.7 -c pytorch -c nvidia
验证安装后,确认torch.version.cuda为11.7,且nvcc -V显示版本为11.7。
步骤3:避免跨包管理器安装PyTorch
后续安装PyTorch时,统一使用conda或pip其中一种包管理器,不要混合安装,防止版本冲突。
内容的提问来源于stack exchange,提问作者furynerd
相关产品推荐
相关产品推荐

