Anaconda/Miniconda 环境配置及 PyTorch GPU 版本安装指南
先说目标
你需要拿到一个可复现的深度学习环境,并且明确知道为什么这样配:
- 为什么推荐 Miniconda;
- 驱动、CUDA、PyTorch 到底谁依赖谁;
- 怎样安装不容易装成 CPU 版;
- VS Code / Jupyter 为什么会“看起来同一个环境但实际不是”。
如果你第一次配环境,建议严格按文中顺序做,不要跳步。
为什么推荐 Miniconda,而不是直接乱装 Python
很多环境问题不是出在 PyTorch,而是出在“解释器不唯一”。
常见混乱:
- 电脑上同时有系统 Python、官网 Python、IDE 内置 Python、conda Python;
pip install装到了 A 解释器,运行代码却在 B 解释器;- 项目 A 和项目 B 依赖版本冲突,互相覆盖。
Miniconda 的本质不是“另一个 Python”,而是“环境隔离器”:
- 每个项目有独立解释器和依赖树;
- 依赖冲突被隔离在各自环境内;
- 环境可以导出和复现(团队协作非常重要)。
所以推荐策略是:
- 系统层只安装 Miniconda;
- 每个项目单独环境;
- 尽量不在
base环境做训练项目。
一步一步操作(Windows)
1) 安装 Miniconda 并确认可用
安装完成后打开 Anaconda Prompt:
1 | |
有版本号即正常。
2) 新建独立环境并激活
1 | |
为什么推荐 python=3.10:
- 对大部分深度学习库兼容性好;
- 比较少遇到“新版本 Python 但依赖还没跟上”的问题。
3) 先验证 NVIDIA 驱动层
1 | |
这一步验证的是“操作系统是否能和显卡驱动正常通信”,不代表 PyTorch 已经可用。
驱动、CUDA、PyTorch 的关系(这是关键原理)
很多人把这三者搞反。正确理解是:
- NVIDIA Driver(驱动):系统层,负责让 OS 能控制 GPU;
- CUDA Toolkit(nvcc 等):开发层,用于编译 CUDA 程序;
- PyTorch CUDA 包:框架层,通常自带需要的 CUDA 运行时。
因此:
- 只做 PyTorch 训练/推理,往往不必单独安装完整 Toolkit;
- 但驱动一定要正常;
- 需要编译自定义 CUDA 扩展时,才强依赖本地 Toolkit 和
nvcc。
CUDA Toolkit 如何安装与验证(按需)
如果你需要安装 Toolkit(例如要编译 CUDA 扩展):
- 去 NVIDIA 官网下载对应版本(11.8 / 12.1 / 12.4 常见);
- 正常安装(默认组件即可);
- 新开终端验证:
1 | |
这一步验证的是“CUDA 编译器链路”是否可用。
再看驱动:
1 | |
这一步验证的是“驱动链路”。
最后用 PyTorch 验证框架层:
1 | |
三层含义:
nvidia-smi:系统驱动层nvcc -V:CUDA 开发工具层torch.cuda.is_available():框架运行层
只要你是普通训练场景,最关键的是第一层和第三层。
安装 PyTorch GPU 版(避免 CPU 版误装)
先升级 pip:
1 | |
然后去 PyTorch 官网复制当前推荐命令。示例(cu121):
1 | |
为什么强调“官网命令”:
- 不同 PyTorch 版本对应不同 CUDA runtime 包;
- 手写容易装错源,最终装成 CPU 版。
安装后立即验证
1 | |
预期:
torch.version.cuda不是None;cuda available为True;gpu count大于 0。
再做一次真实计算:
1 | |
这一步验证“不是只识别到 GPU,而是确实能在 GPU 上算”。
VS Code / Jupyter 绑定环境(以及为什么会错)
原理上,VS Code 和 Jupyter 都是“前端壳”,真正执行代码的是内核解释器路径。
你看到的终端激活状态,不等于 Notebook 内核真的一致。
Jupyter 绑定
在目标环境中执行:
1 | |
然后在 Notebook 的 Kernel 菜单选择 Python (dl-gpu)。
VS Code 绑定
Ctrl + Shift + PPython: Select Interpreter- 选择
dl-gpu对应解释器
最后用这两条确认:
1 | |
路径必须和你期望的 conda 环境一致。
常见错误,如何快速定位
错误 1:装成 CPU 版
表现:torch.cuda.is_available() 为 False,但 import torch 正常。
检查:
1 | |
如果 torch.version.cuda 是 None,基本就是 CPU 包。
处理:
1 | |
错误 2:nvidia-smi 正常但 torch 识别不到 GPU
这时通常不是驱动坏了,而是环境/包错位。按顺序排:
1 | |
仍不行就直接最小环境复现:
1 | |
最小环境可用,说明原环境污染,不建议继续修老环境。
错误 3:pip 和 conda 混用后依赖打架
不是不能混用,而是要有顺序:
- 先确定核心组件安装策略(推荐先 conda 或全 pip 二选一);
- 缺的小包再补;
- 稳定后立刻固化环境。
1 | |
实用收尾
三条纪律:
- 一个项目一个环境;
- 不在
base里训练; - 每次装完立即跑 GPU 验证命令。
这三条能挡住大部分新手环境问题。