资讯详情

Windows下PyTorch深度学习环境搭建:Anaconda虚拟环境与CUDA版本对齐指南

📅 2026/10/26 13:50:15 | 华诺云谱 👁 阅读
Windows下PyTorch深度学习环境搭建:Anaconda虚拟环境与CUDA版本对齐指南
简介这份文档面向刚接触深度学习、需要在本地搭建 PyTorch 运行环境的开发者与学习者重点解决框架安装时版本冲突、依赖混乱等常见问题。内容围绕在 Anaconda 中新建独立虚拟环境展开涵盖环境创建与激活、显卡驱动版本查看、CUDA 与 cuDNN 版本匹配、PyTorch 及 torchvision 版本选择以及国内镜像源加速安装等关键环节并给出验证 GPU 是否可用的思路。资源包共 1 个 docx 文件约 170KB以图文步骤形式记录配置流程便于边看边操作。目前已有 1610 人学习下载适合希望避开 base 环境直接安装、建立可复用深度学习环境的中级入门读者参考也可作为环境排错与版本对照的速查材料。1. 装 PyTorch 之前先把虚拟环境这件事想明白上周帮一位同学收拾一台开发机开机进桌面挺正常一跑训练脚本就报ImportError: DLL load failed再换一个项目又提示torch版本不对。翻了下环境才发现他把 PyTorch、TensorFlow 还有一堆图像库全塞进了 Anaconda 的 base 环境两个框架互相抢依赖谁也跑不顺。深度学习环境搭建这件事翻车点往往不在 PyTorch 本身而在「装在哪」这一步没想清楚。这篇笔记记录的是我反复装过多次的一套流程用 Anaconda 建独立虚拟环境锁定 Python 版本再按显卡驱动倒推 CUDA 与 PyTorch 版本最后用几行代码验证 GPU 是否真的可用。适合刚接触深度学习、准备在 Windows 上跑第一个训练脚本的开发者也适合已经装过但环境一团乱、想推倒重来的熟手。整套流程的核心就一句一个项目一个环境base 环境只留 conda 自己。2. 环境准备Anaconda、Python 与显卡驱动的版本对齐2.1 为什么必须在虚拟环境里装 PyTorchAnaconda 的价值不在它自带多少库而在于它能用conda create把每个项目的解释器和依赖隔离开。base 环境是所有环境的公共底座一旦在里面装了 PyTorch后面再想装 TensorFlow 或者换一个 PyTorch 版本依赖解析就会互相打架轻则版本回退重则整个 base 环境起不来。我一般把 base 环境当成「干净的工具箱」只保留 conda、pip 这类管理工具所有框架都装进命名环境里。这样做的好处很直接项目 A 用 PyTorch 1.7.0 CUDA 11.0项目 B 用更新的版本两者互不影响删环境时一条conda remove -n 环境名 --all就能清干净不留残渣。2.2 装 Anaconda 与确认 Python 版本Anaconda 从官网下载对应系统位数的安装包即可安装时勾选「Add Anaconda to my PATH environment variable」这一步有争议我的习惯是不勾改用 Anaconda Prompt 操作避免和系统里其他 Python 冲突。装完后打开 Anaconda Prompt先确认 conda 能用conda --version conda info --envs第一条输出 conda 版本号第二条列出当前所有环境正常情况下只有 base 一个。如果conda命令找不到说明 PATH 没配好回到安装目录手动执行Scripts\activate再试。Python 版本不用单独装建环境时用pythonx.x指定conda 会自动拉取对应版本。这里有个取舍PyTorch 1.7.0 官方轮子对 Python 3.6 到 3.9 支持比较稳我一般选 3.8兼容性和生态都够用太新的 Python 版本反而可能找不到预编译包。2.3 查显卡驱动倒推 CUDA 版本上限CUDA 版本不是想装哪个就装哪个它受显卡驱动版本约束。在 Windows 上打开 NVIDIA 控制面板点「帮助」→「系统信息」看「驱动程序版本」那一栏。原文里记录的情况是驱动版本 11.2而 CUDA 11.0 要求驱动版本不低于对应门槛11.2 大于 11所以装 CUDA 11.0 没问题。这个判断逻辑要记住驱动版本号的前两位大致对应它能支持的最高 CUDA 大版本驱动越新能装的 CUDA 上限越高但没必要追最新选 PyTorch 官方有预编译轮子的版本最省事。组件本项目选定版本选择依据Python3.8PyTorch 1.7.0 轮子覆盖范围CUDA11.0显卡驱动 11.2 可向下兼容cuDNN8.0与 CUDA 11.0 配套PyTorch1.7.0较新且与 CUDA 11.0 匹配Torchvision0.8.1与 PyTorch 1.7.0 对应这张表是整个安装的锚点后面所有命令都围绕它展开。版本一旦定下来就别中途改CUDA、cuDNN、PyTorch 三者是绑定的改一个往往要连带改另外两个。3. 建环境与装框架conda 命令逐条落地3.1 新建并激活独立环境环境名我习惯直接用框架名比如pytorch一眼能看出用途。新建命令如下# 新建名为 pytorch 的环境指定 Python 3.8 conda create -n pytorch python3.8 # 激活环境后续所有安装都在这个环境里进行 conda activate pytorch-n后面跟环境名python3.8指定解释器版本conda 会提示确认安装的包列表输入y回车。激活成功后命令行提示符前面会出现(pytorch)这是判断当前在哪个环境的最直接标志。原文里提到「其实可以不用 activate」指的是如果只在 PyCharm 里配置解释器路径日常命令行不激活也能用但我建议还是养成激活的习惯因为装包、验证、排错都依赖当前环境上下文不激活很容易把包装到 base 里去。3.2 安装 CUDA 11.0 与 cuDNN 8.0CUDA 和 cuDNN 从 NVIDIA 官网下载搜索对应版本号选 Windows 本地安装包。CUDA 安装时选「自定义」把不需要的组件比如旧版驱动取消勾选避免覆盖现有显卡驱动。cuDNN 是压缩包形式解压后把里面的bin、include、lib三个目录的文件分别复制到 CUDA 安装目录的同名文件夹下这是 Windows 上的常规做法。装完在命令行验证# 查看 CUDA 编译器版本能输出版本号说明 CUDA 装好了 nvcc --version如果提示nvcc不是内部命令说明 CUDA 的 bin 目录没进 PATH手动加到系统环境变量里再开一个新终端。cuDNN 没有独立命令验证它的版本会在后面 PyTorch 调用 GPU 时间接体现装错版本通常表现为训练时报 cuDNN 相关错误。3.3 按官方命令装 PyTorch 1.7.0PyTorch 版本不要凭感觉装去官网的 previous-versions 页面找对应 CUDA 11.0 的安装命令直接复制。原文记录的命令形态大致如下# 安装 PyTorch 1.7.0 torchvision 0.8.1CUDA 11.0 版本 pip install torch1.7.0cu110 torchvision0.8.1cu110 -f https://download.pytorch.org/whl/torch_stable.htmltorch1.7.0cu110里的cu110是关键它表示这个轮子编译时链接的是 CUDA 11.0不带这个后缀装到的可能是 CPU 版本。-f指定额外的轮子索引地址保证能拉到对应版本。如果下载速度慢可以换国内源但要注意国内 PyPI 镜像通常只有 CPU 版本的 torch带cu110的轮子还是得走官方地址这一点很多人踩过换了源装完发现torch.cuda.is_available()返回 False就是因为装成了 CPU 版。# 国内源示例仅适合装纯 Python 包torch 的 CUDA 轮子仍建议走官方 pip install 包名 -i https://pypi.tuna.tsinghua.edu.cn/simple原文里还提到装 TensorFlow 1.5.0 的命令那是另一个项目的需求和 PyTorch 环境不要混着装真要两个框架共存就再建一个独立环境这是虚拟环境存在的意义。3.4 在 PyCharm 里挂上这个环境PyCharm 新建项目时解释器选「Existing interpreter」路径指向 Anaconda 安装目录下的envs\pytorch\python.exe。这样 PyCharm 里的代码运行、包管理都走这个环境和命令行激活的效果一致。配置完在 PyCharm 的终端里敲conda activate pytorch确认一下如果提示 conda 命令不可用在设置里把终端 shell 路径改成 Anaconda Prompt 对应的启动脚本即可。这一步不做后面在 IDE 里跑脚本会莫名其妙用到 base 环境的包排查起来很费时间。4. 避坑与排查装完跑不起来时先看这几处4.1 现象torch.cuda.is_available()返回 False原因通常有三种装成了 CPU 版 torch、CUDA 版本和 torch 轮子不匹配、显卡驱动太旧。先执行pip list | findstr torch看版本号后面有没有cu110没有就是装错了卸载重装。再看nvcc --version和驱动版本是否满足要求。解决顺序是先确认轮子带 CUDA 后缀再确认驱动版本够最后才怀疑硬件。4.2 现象ImportError: DLL load failed这是 Windows 上最典型的翻车现场多半是 CUDA 的 bin 目录没进 PATH或者 cuDNN 文件复制位置不对。检查系统环境变量里有没有 CUDA 的bin和libnvvp路径cuDNN 的三个目录是否真的合并进了 CUDA 安装目录。改完环境变量必须重开终端旧终端不会自动刷新。4.3 现象conda 建环境卡在 solving environmentconda 的依赖求解器在包多的时候会非常慢常见做法是换用conda create -n pytorch python3.8 --no-deps先建空环境再逐个装或者直接改用 pip 装框架。我一般建环境时只指定 Python 版本不额外加包能明显减少求解时间。4.4 现象pip 装包报 SSL 证书错误公司网络或代理环境下常见表现为Could not fetch URL ... certificate verify failed。临时办法是加--trusted-host参数指定镜像域名长期办法是把镜像源写进 pip 配置文件。注意这只影响纯 Python 包torch 的 CUDA 轮子还是走官方地址。4.5 现象环境装乱了想重来别手动删文件夹用 conda 命令清理conda remove -n pytorch --all确认后整个环境连同里面的包一起删掉再按第 3 章重新建。这比在文件系统里乱删安全得多也是虚拟环境给的后悔药。5. 装完怎么验证三行代码确认环境真的通了环境装完不等于能用必须跑一遍验证。激活环境后依次执行conda activate pytorch python进入 Python 交互界面后输入import torch # 导入 PyTorch能导入说明包装好了 print(torch.__version__) # 输出 torch 版本应为 1.7.0cu110 print(torch.cuda.is_available()) # 输出 True 表示 GPU 可用 print(torch.cuda.get_device_name(0)) # 输出显卡型号确认识别到硬件四行输出对应四个检查点第一行验证包完整性第二行验证版本是否带 CUDA 后缀第三行验证 CUDA 运行时是否正常第四行验证显卡是否被正确识别。第三行返回 False 时回到第 4 章按顺序排查。全部通过后再跑一个最小张量运算确认计算链路x torch.randn(3, 3).cuda() # 在 GPU 上创建张量 y torch.randn(3, 3).cuda() print((x y).sum().item()) # 能输出数值说明 GPU 计算正常这一步能过说明从驱动到 CUDA 到 PyTorch 的整条链路都通了可以开始跑训练脚本。我还会顺手在 PyCharm 里新建一个测试文件跑同样的代码确认 IDE 用的确实是这个环境而不是 base。从那以后我每次装完环境都强制走一遍这四行加一个张量运算不看到True和显卡型号就不往下走因为环境问题拖到训练中途才暴露排查成本要高好几倍。希望这套流程能帮到你少在环境上耗时间把精力留给模型本身。本文还有配套的精品资源点击获取
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑