【未解决】Python3.12环境下anaconda安装pytorch(GPU版本),按照官网提供的命令安装但cuda无法使用
未解决问题,发出来仅作为踩坑参考。教训是,可以的话尽量避开3.12及之后的新版本,使用3.10或3.11版本进行使用gpu的pytorch深度学习实验。
前提
1.确认已安装CUDA,并知道当前已安装的CUDA版本
2.从始至终使用conda管理依赖,未使用pip
3.环境:Win10-64,Python3.12.11,CUDA 12.1
问题
按照pytorch官网提供的2.5.1 GPU版命令
conda install pytorch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 pytorch-cuda=12.1 -c pytorch -c nvidia
尝试安装对应版本的torch,print(torch.cuda.is_available())却输出false

分析
conda list查看包细节:

发现当前环境内的pytorch竟然是cpu版本的。明明使用了官网提供的GPU版命令,为什么会这样呢,神秘。
解决方案
(以下为失败方案的分割线,最终采用的解决方法请直接跳到下一单元)
询问gpt后得到建议:

解决尝试1(不成功)
首先尝试修改通道优先级。使用如下命令:
conda config --add channels pytorch
conda config --add channels nvidia
conda config --set channel_priority strict
随后再运行官网提供的命令,获得如下警示:

大约是严格通道优先级导致了新的依赖问题。放弃该方案,使用如下命令接触优先级:
conda config --set channel_priority flexible
测试后显示优先级已经接触设置,再运行conda intsall时无预警。但原始问题未解决,于是尝试方案二。
解决尝试2(不成功)
使用有明确指定的命令进行安装。使用如下命令:
conda install pytorch=2.5.1=*cuda* torchvision=0.20.1=*cuda* torchaudio=2.5.1=*cuda* pytorch-cuda=12.1 -c pytorch -c nvidia
意料之外获得如下提示:
好神秘。似乎是python版本兼容性的问题。决定去anaconda官网上看看,确认下packages和python版本的对应。
解决尝试3(不成功)
在anaconda官网pytorch/pytorch 2.5.1信息页面,找到对应GPU-CUDA版本文件下载到本地site-packages内。

cd到本地site-packages目录,使用如下代码解压本地.bz2包并安装(Downloading and Extracting进度为%0可能会持续一段时间,耐心等待):
conda install --use-local {文件名称(包含.bz2后缀)}
结束后可见安装成功:

但尝试import torch还是报错了,显示缺少模块。鉴于情况奇怪,没空继续研究,于是停止进一步修正尝试。
最终方案
放弃在Python3.12.11环境下继续配置深度学习环境,转而使用Python3.10的版本进行实验。博主太菜了,经验贴发出来仅作为踩坑教训。如果有情况相似的网友之后通过某种方式解决了问题,欢迎评论交流指点。
(古怪的是恍惚记得上周刚配好torch的时候cuda.is_available()还是True来着,今天新装几个包后就不行了。难道是幻觉
参考
1.Pytorch官网 - https://pytorch.org/get-started/previous-versions/
2.Conda安装第三方包 - https://zhuanlan.zhihu.com/p/107487229 (原链接为在base环境中安装,我使用虚拟环境,在 anaconda3/env/{虚拟环境名称}/Lib/site-packages 路径下安装)
欢迎来到FlagOS开发社区,这里是一个汇聚了AI开发者、数据科学家、机器学习爱好者以及业界专家的活力平台。我们致力于成为业内领先的Triton技术交流与应用分享的殿堂,为推动人工智能技术的普及与深化应用贡献力量。
更多推荐



所有评论(0)