Conda安装cuda指定版本遇到的一个大坑,导致pytorch无法使用cuda且nvcc -V显示错误的cuda版本

写帖子的背景

24年3月份的时候用conda install nvidia/label/cuda-11.x.x::cuda还挺正常的,能直接安装11.x.x版本的cuda,我还安利给同学用。但现在5月份不知道为什么这些命令都只会安装最新的cuda12.4,不知道是我哪里设置有问题还是官网的安装目录里的环境配置换了?

我在三台不同的服务器上都尝试了安装不同版本的cuda,但最后安装下来的都是12.4版本

解决过程

创建虚拟环境

假设创建环境名为env_name python=3.10的虚拟环境

conda create -n env_name python=3.10

利用conda安装cuda

conda官方cuda环境包地址(可以点进去选要安装的cuda版本):https://anaconda.org/nvidia/cuda
这里我选择安装cuda11.8,其中nvidia/label/cuda-11.8.0::表示指定channel路径为nvidia/label/cuda-11.8.0

conda install nvidia/label/cuda-11.8.0::cuda

但仔细看后发现安装的环境中只有cuda是11.8,但其他关联库都是12.4
在这里插入图片描述

愣头青下载安装后发现确实cuda版本不对,pytorch里也无法使用cuda
在这里插入图片描述

在这里插入图片描述
因此怀疑是conda的channel不对,导致环境安装问题

进入 https://repo.anaconda.com/pkgs/main查询cuda安装的版本,发现确实只有cuda12.4版本
在这里插入图片描述
原因我猜测应该是default channel优先级高于nvidia/label/cuda-11.8.0这一channel

解决办法(新,24/6/2更新)

旧的方法治标不治本,把default channel给删去了虽然能让cuda安装都使用nvidia的地址,但下次用conda create -n 创建新的python虚拟环境时会发现找不到python package。因此另外寻找解决办法,很简单如下:

conda install nvidia/label/cuda-11.8.0::cuda --channel nvidia/label/cuda-11.8.0

能够优先去nvidia的channel寻找cuda11.8.0的库,而不受defaults channel的影响,效果如下:
在这里插入图片描述
------------------------------------------------------分割线--------------------------------------------------

解决办法(旧)

修改channel,把默认channel删除

conda config --remove channels defaults

重新安装cuda

conda install nvidia/label/cuda-11.8.0::cuda

显示成功!终于不会去default channel下找cuda了。
在这里插入图片描述
nvcc -V也显示成功安装cuda
在这里插入图片描述

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值