本文记录我在 Windows 上配置《动手学深度学习》(D2L)PyTorch 版的完整过程。
环境:Windows + Miniconda + Python 3.9 + NVIDIA RTX 4060 Laptop。
目标:能顺利运行
d2l-zh的 Jupyter Notebook,并支持 GPU 加速。
一、最终环境概览
我的实际环境如下:
| 项目 | 版本 / 信息 |
|---|---|
| 操作系统 | Windows |
| Conda | 26.7.1 |
| Python | 3.9.25 |
| GPU | NVIDIA GeForce RTX 4060 Laptop,8GB 显存 |
| 驱动 | 610.88,CUDA UMD 13.3 |
| 深度学习框架 | PyTorch GPU 版 |
| 配套包 | d2l==0.17.6、Jupyter Notebook |
这套环境可以运行《动手学深度学习》PyTorch 版的大部分章节,RTX 4060 Laptop 的 8GB 显存也足够学习使用。
二、安装 Miniconda
Miniconda 是 Anaconda 的轻量版,只包含 conda 和 Python,适合按需安装库。
1. 下载安装包
访问 Miniconda 官方下载页,选择 Windows 64-bit Graphical Installer ,下载 .exe 文件。也可以直接使用:
text
https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe
2. 安装选项
双击安装,建议选择:
- Just Me (recommended)
- 安装路径不要有中文和空格
- 勾选 Add Miniconda3 to my PATH environment variable
安装完成后,从开始菜单打开 Anaconda Prompt。
3. 验证
bash
conda --version
如果能看到版本号,说明安装成功。
三、创建 d2l 虚拟环境
不要直接在 base 环境中安装深度学习库,建议创建独立环境:
bash
conda create --name d2l python=3.9 -y
创建完成后激活:
bash
conda activate d2l
激活后,命令行提示符前会出现 (d2l)。验证 Python 版本:
bash
python -V
我的输出是:
text
Python 3.9.25
遇到 Conda ToS 报错
新版 Conda 可能会要求先接受 Anaconda 的服务条款,否则创建环境时会报:
text
CondaToSNonInteractiveError: Terms of Service have not been accepted...
解决方法是依次执行:
bash
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/msys2
注意:conda tos status 并不是有效子命令,会报错。接受完三条后,直接继续创建环境即可。
提醒:如果代表员工数超过 200 人的营利性组织使用 Anaconda,需要购买商业订阅。个人学习通常可以免费使用。
四、检查 GPU
在安装 PyTorch 前,先确认显卡和驱动:
bash
nvidia-smi
我的输出关键信息:
text
NVIDIA GeForce RTX 4060 Laptop
Driver Version: 610.88
CUDA UMD Version: 13.3
Memory: 8188MiB
这说明:
- 有 NVIDIA GPU,可以安装 GPU 版 PyTorch;
- 驱动支持 CUDA 13.3,向下兼容 CUDA 12.x;
- 推荐安装 CUDA 12.6 或 12.8 对应的 PyTorch wheel。
如果没有 NVIDIA GPU,安装 CPU 版即可,前几章学习完全够用。
五、安装 PyTorch、d2l 和 Jupyter
确保当前处于 (d2l) 环境。
1. 安装 PyTorch GPU 版
推荐去 PyTorch 官网 选择:
- Stable
- Windows
- Pip
- Python
- CUDA 12.6 或 12.8
官网会生成安装命令。例如:
bash
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126
如果 cu126 下载失败,可以尝试:
bash
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128
CPU 版则使用:
bash
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
2. 安装 d2l 包
必须安装指定版本:
bash
pip install d2l==0.17.6
如果下载慢,可以使用清华镜像:
bash
pip install d2l==0.17.6 -i https://pypi.tuna.tsinghua.edu.cn/simple
3. 安装 Jupyter
bash
pip install jupyter
4. 验证 PyTorch 和 GPU
运行:
bash
python -c "import torch; print('torch:', torch.__version__); print('cuda_available:', torch.cuda.is_available()); print('device:', torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'CPU')"
预期输出类似:
text
torch: 2.x.x+cu126
cuda_available: True
device: NVIDIA GeForce RTX 4060 Laptop GPU
如果 cuda_available 是 False,说明可能装成了 CPU 版,需要卸载重装:
bash
pip uninstall torch torchvision torchaudio -y
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126
六、下载 D2L Notebook
浏览器访问:
text
https://zh-v2.d2l.ai/d2l-zh-2.0.0.zip
下载后解压到任意目录,例如:
text
D:\d2l-zh
解压后进入 pytorch 子目录:
bash
cd /d D:\d2l-zh\pytorch
启动 Jupyter Notebook:
bash
jupyter notebook
浏览器通常会自动打开:
text
http://localhost:8888
然后就可以打开每一章的 .ipynb 文件开始学习了。
七、踩坑记录
坑 1:Conda ToS 未接受
报错:
text
CondaToSNonInteractiveError: Terms of Service have not been accepted...
解决:
依次执行三条 conda tos accept 命令,具体见上文第三节。
坑 2:Jupyter Notebook 启动失败
报错:
text
ModuleNotFoundError: No module named 'jupyter_server.contents'
TypeError: warn() missing 1 required keyword-only argument: 'stacklevel'
原因:
traitlets 与 notebook 版本不兼容。新版 traitlets 修改了 warn() 的参数要求,而旧版 notebook 没有同步更新。
解决方案一:升级 notebook(推荐)
bash
pip install --upgrade notebook
或明确安装 7.x:
bash
pip install notebook==7.*
如果仍提示缺少 jupyter_server,可以补装:
bash
pip install jupyter_server
解决方案二:降级 traitlets
bash
pip uninstall traitlets -y
pip install traitlets==5.9.0
修复后重新进入代码目录并启动:
bash
cd /d D:\A_DLL\pytorch
jupyter notebook
八、日常使用命令
每次开始学习前:
bash
conda activate d2l
cd /d D:\A_DLL\pytorch
jupyter notebook
结束学习后:
- 在命令行按
Ctrl+C停止 Jupyter; - 执行
conda deactivate退出环境。
所有安装和运行操作都应在 (d2l) 环境下进行,不要装在 (base) 中。
九、常见问题速查
| 问题 | 解决办法 |
|---|---|
conda 不是内部命令 |
安装时勾选 Add to PATH,或手动添加 miniconda3\Scripts |
| Conda ToS 报错 | 执行三条 conda tos accept 命令 |
conda tos status 报错 |
该子命令不存在,忽略即可 |
pip install d2l 报错 |
先装 PyTorch,再装 d2l |
Jupyter 找不到 .ipynb |
启动前先 cd 到 pytorch 子目录 |
GPU 版但 cuda_available=False |
卸载重装 GPU 版 PyTorch,检查 CUDA 版本 |
| Jupyter 启动报 traitlets 错误 | 升级 notebook 或降级 traitlets==5.9.0 |
十、总结
在 Windows 上搭建 D2L PyTorch 环境,关键步骤是:
- 安装 Miniconda;
- 创建独立的
d2l环境; - 接受 Conda ToS;
- 根据 GPU 驱动选择正确的 PyTorch CUDA 版本;
- 安装
d2l==0.17.6和 Jupyter; - 下载 D2L Notebook 并启动;
- 遇到 Jupyter 兼容问题时,升级
notebook或降级traitlets。
整体流程并不复杂,主要坑集中在 Conda 新版 ToS 和 Jupyter 依赖兼容性上。解决之后,就可以在浏览器中流畅运行《动手学深度学习》的 PyTorch 代码了。