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 的实战优势(为什么值得搭)

  1. Docker 原生跑 Linux 容器:装好 Docker Desktop(设置里勾选 WSL2 后端),docker run 直接跑 Linux 镜像——《Docker 容器化实战》的 Docker 教程在这里体验最佳;
  2. Linux-only 工具:vLLM、某些训练脚本、llama.cpp 等,Windows 跑不动或难装的,WSL 里一条命令;
  3. 文件系统隔离:训练项目放 WSL 的 ~/ 下(Linux 原生文件系统),比放 /mnt/c 快很多;
  4. 随时关:不用了 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 工具,是常见且好报价的小活。

觉得有用点个赞收藏,有问题评论区见,看到都会回。

更多推荐