WSL2 深度学习环境搭建:Windows 的 Linux 快乐(完整命令)
WSL2 深度学习环境搭建:Windows 的 Linux 快乐(完整命令)
深度学习生态(Docker、vLLM、各种 Linux-only 工具)基本都在 Linux 上跑,而 Windows 上的 WSL2 就是"不用装双系统的 Linux"。这篇从安装到把 PyTorch GPU 环境跑通,命令全部完整可复制。
前言
很多 AI 工具(Docker 容器、vLLM 推理、某些训练框架)只提供 Linux 版本,Windows 用户要么装双系统、要么用虚拟机——都麻烦。微软的 WSL2 解决了这个问题:Windows 里直接跑一个"真 Linux",共享文件、共享显卡,还不用重启切换系统。
我现在的日常就是:Windows 写代码,WSL 里跑训练和推理,两边无缝衔接。这篇把从零搭建 WSL2 深度学习环境的完整命令列出来,照着敲就行。

一、WSL2 是什么(先搞清概念)
- WSL2 = Windows Subsystem for Linux 2,Windows 内置的轻量 Linux 虚拟机;
- 相比 WSL1(翻译层),WSL2 有真正的 Linux 内核,兼容性最好;
- 关键能力:GPU 直通(N 卡驱动装好后,WSL 里能用 CUDA)、Docker 原生支持。
一句话:Windows 里装了个跑得飞快的 Linux,还能用显卡。

二、安装(三条命令)
管理员 PowerShell 里执行:
# 1. 启用 WSL 并安装默认发行版(Ubuntu)
wsl --install
# 2. 确保用 WSL2(不是老版 WSL1)
wsl --set-default-version 2
# 3. 查看发行版和版本号(VERSION 列应为 2)
wsl -l -v
装完重启电脑,第一次打开 Ubuntu 会让你设置用户名和密码。如果 wsl -l -v 显示 VERSION 是 1,用 wsl --set-version Ubuntu 2 升级。
三、装完第一步:换源 + 基础工具(不然慢到哭)
进入 WSL(终端敲 wsl 或直接开 Ubuntu 应用),先换清华源加速 apt:
# 备份原源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
# 把官方源换成清华源(Ubuntu 24.04 的 sources 在 /etc/apt/sources.list.d/ubuntu.sources,两处都处理)
sudo sed -i 's@//.*archive.ubuntu.com@//mirrors.tuna.tsinghua.edu.cn@g' /etc/apt/sources.list 2>/dev/null
sudo sed -i 's@//.*archive.ubuntu.com@//mirrors.tuna.tsinghua.edu.cn@g' /etc/apt/sources.list.d/ubuntu.sources 2>/dev/null
# 更新并装基础工具
sudo apt update && sudo apt install -y build-essential git curl wget
Windows 和 WSL 文件互访(重点):
# WSL 里访问 Windows 文件:挂载在 /mnt/c/ 下
ls /mnt/c/Users/你的用户名/
# Windows 里访问 WSL 文件:资源管理器地址栏输入
# \\wsl$\Ubuntu\home\你的用户名
四、深度学习环境(conda + PyTorch GPU)
在 WSL 里装 Miniconda(和 Windows 里的 conda 互不干扰,两个环境并存):
# 1. 下载并安装 Miniconda(清华镜像)
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh -b
echo 'export PATH=$HOME/miniconda3/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
# 2. 建环境装 PyTorch(CUDA 版)
conda create -n dl python=3.10 -y
conda activate dl
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu124
# 3. 验证 GPU 是否可用(关键一步)
nvidia-smi
python -c "import torch; print(torch.cuda.is_available(), torch.cuda.get_device_name(0))"
看到 True NVIDIA GeForce ... 就成功了。前提:Windows 上已装好 N 卡驱动(WSL 共享 Windows 的驱动,不用在 WSL 里重装)。
运行验证:nvidia-smi 在 WSL 里能显示显卡(NVIDIA GeForce GTX 1650 等);python -c "import torch; print(torch.cuda.is_available())" 输出 True——GPU 直通生效。若 nvidia-smi 报错,先在 Windows 更新显卡驱动再重开 WSL。
五、WSL2 的实战优势(为什么值得搭)
- Docker 原生跑 Linux 容器:装好 Docker Desktop(设置里勾选 WSL2 后端),
docker run直接跑 Linux 镜像——《Docker 容器化实战》的 Docker 教程在这里体验最佳; - Linux-only 工具:vLLM、某些训练脚本、llama.cpp 等,Windows 跑不动或难装的,WSL 里一条命令;
- 文件系统隔离:训练项目放 WSL 的
~/下(Linux 原生文件系统),比放/mnt/c快很多; - 随时关:不用了
wsl --shutdown释放内存,Windows 照常用。
六、常见坑
| 坑 | 解决 |
|---|---|
| WSL 占内存太多 | 在 C:\Users\你的用户名\.wslconfig 里限制:[wsl2] + memory=8GB + processors=4,保存后 wsl --shutdown 生效 |
| 在 /mnt/c 下跑训练特别慢 | 训练项目放 Linux 家目录(~/),别放 Windows 盘挂载点 |
nvidia-smi 报错 | 升级 Windows 显卡驱动到最新(WSL GPU 支持需要新版驱动) |
| 端口冲突 | WSL 和 Windows 共享 localhost,服务端口别冲突 |
| 想换发行版 | wsl --install -d Debian 等;多发行版共存 |
| 磁盘被 WSL 占满 | wsl --shutdown 后 Windows 的 VHD 文件会自动压缩;或迁移到其他盘 |
七、总结
- 一句话:WSL2 = Windows 里的真 Linux + GPU 直通 + Docker 支持,深度学习工具链全兼容;
- 建议工作流:Windows 管日常(Obsidian/VS Code),WSL 管训练推理(conda/Docker);
- 接单角度:帮客户在 Windows 机器上搭 WSL2 环境跑 Linux-only 工具,是常见且好报价的小活。
觉得有用点个赞收藏,有问题评论区见,看到都会回。
更多推荐
所有评论(0)