基于WSL 2在Windows 11 构建深度学习开发环境 —— 以Ubuntu、Anaconda、PyCharm及GPU支持为核心

本文将详细介绍在 Windows 11 系统中通过 WSL2 架构搭建高效深度学习开发环境的完整流程。将基于Ubuntu子系统,整合Anaconda环境管理工具和PyCharm专业开发环境,特别针对GPU支持进行重点配置,实现从环境准备到模型训练的全流程指导。无论您是偏好 Windows 操作但需要 Linux 开发环境的程序员,还是希望在同一设备上兼顾办公与实验的研究人员,本方案都能为您提供一条可靠且高效的实践路径。

1. 启用必要功能

  • 在 Windows 搜索栏输入 "启用或关闭 Windows 功能"
  • 勾选两项: 适用于 Linux 的 Windows 子系统虚拟机平台
  • 重启电脑


2. PowerShell 启用 WSL

管理员 身份打开 PowerShell,依次执行:

powershell 复制代码
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

这条命令是为你的Windows系统安装了"可以运行Linux程序"的兼容层。没有它,你根本无法在Windows里运行Ubuntu等发行版。

powershell 复制代码
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

这条命令是开启WSL 2(第二代)支持的关键。WSL 1 和 WSL 2 的核心区别在于架构,WSL 2 基于一个轻量级的虚拟机,因此需要启用系统的虚拟化功能。这带来了完整的Linux内核兼容性和巨大的I/O性能提升。

命令 功能 目的
命令一 启用 WSL 让Windows能理解和运行Linux环境。
命令二 启用 虚拟机平台 让WSL能以更先进的WSL 2模式运行,获得最佳性能。

重启计算机将WSL 2设置为默认版本 (这样以后安装的Linux发行版都会用性能更好的WSL 2),依次执行命令:

powershell 复制代码
# 一键安装WSL的默认Linux发行版(通常是Ubuntu)。
# 此命令会自动启用所需的Windows功能、下载最新Linux内核、并安装默认发行版。
# 注意:执行后通常需要重启计算机。
wsl.exe --install

# 检查并更新WSL的Linux内核版本。
# 在WSL安装完成后,建议运行此命令以确保内核为最新版本,从而获得更好的性能和安全性。
wsl.exe --update

# 将WSL的默认版本设置为第2代。
# WSL 2相比WSL 1具有完整的Linux内核兼容性和更高的文件系统性能。
# 重要:执行此命令后,新安装的Linux发行版将默认使用WSL 2。
wsl --set-default-version 2

3. 安装 Ubuntu 24.04

打开 Microsoft Store,搜索 Ubuntu 24.04.1 LTS 并安装。

首次启动时会提示你创建 用户名密码(密码输入时不显示,正常输入回车即可)。

Windows PowerShell查看是否安装成功。

推荐设置为默认发行版(可选):

powershell 复制代码
wslconfig /setdefault Ubuntu-24.04

您可以在终端窗口的下拉菜单中查看已安装的系统。

点击即可进入安装系统

如果遇到: wsl : 检测到 localhost 代理配置,但未镜像到 WSL...

解决方案:

  • Win 键搜索 "WSL Settings"
  • 进入 网络 设置页
  • 将 网络模式 从 NAT 改为 Mirrored
  • 重启 WSL

要解决上述问题,只需在Windows PowerShell中执行以下操作:重启WSL服务,然后重新启动Ubuntu系统即可。

powershell 复制代码
wsl --shutdown

4. 安装 CUDA Toolkit 与 cuDNN

WSL2 可直接调用 Windows 系统的 NVIDIA 驱动,仅需安装 CUDA ToolkitcuDNN 即可实现 GPU 加速功能。

powershell 复制代码
nvidia-smi


请注意 :顶部显示的 CUDA Version 仅表示驱动程序支持的最高版本,而非实际安装的版本。

安装适用于 WSLCUDA Toolkit 12.6, 直接去官网下载所需版本:https://developer.nvidia.com/cuda-toolkit-archive


powershell 复制代码
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
powershell 复制代码
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600

输入密码后按回车:

powershell 复制代码
wget https://developer.download.nvidia.com/compute/cuda/12.6.0/local_installers/cuda-repo-wsl-ubuntu-12-6-local_12.6.0-1_amd64.deb
powershell 复制代码
sudo dpkg -i cuda-repo-wsl-ubuntu-12-6-local_12.6.0-1_amd64.deb
powershell 复制代码
sudo cp /var/cuda-repo-wsl-ubuntu-12-6-local/cuda-*-keyring.gpg /usr/share/keyrings/
powershell 复制代码
sudo apt-get update
powershell 复制代码
sudo apt-get -y install cuda-toolkit-12-6

安装完成后运行 nvcc -v 命令时若提示找不到可执行文件,并非cuda toolkit安装问题,而是由于尚未配置环境变量所致。

4.1 配置环境变量

powershell 复制代码
sudo nano ~/.bashrc

按住键盘向下箭头,将光标移至文件末尾。随后,在文件最后添加以下内容(注意修改版本号,如本例中的12.6)。

python 复制代码
export PATH=/usr/local/cuda-12.6/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.6/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

Ctrl+X 保存并退出,然后更新环境变量:

powershell 复制代码
source ~/.bashrc

要检查安装是否成功,只需在终端输入nvcc --version命令。

4.2 安装 cuDNN (兼容 CUDA 12.x)

cuDNN Archive:https://developer.nvidia.com/rdp/cudnn-archive

获取适用于 CUDA 12.xcuDNN v8.9.7(需注册 NVIDIA 账号):

请访问 NVIDIA cuDNN 官方资源库下载

将下载好的.tar.xz文件拷贝至WSL系统的home目录下

powershell 复制代码
\\wsl.localhost\Ubuntu-24.04\home\用户名

解压并安装:

powershell 复制代码
 sudo tar -xvf cudnn-linux-x86_64-8.9.7.29_cuda12-archive    

将解压后的文件分别复制到对应的目录中(注意:以下命令中的 /lib//include/ 路径均指向解压后 cudnn-linux-x86_64-8.9.7.29_cuda12-archive 文件夹内的相应目录):

首先,进入解压后的 cudnn-linux-x86_64-8.9.7.29_cuda12-archive 文件夹

powershell 复制代码
cd cudnn-linux-x86_64-8.9.7.29_cuda12-archive/

进入 lib 文件夹

powershell 复制代码
cd lib/

将文件全部复制到目标文件夹

powershell 复制代码
sudo cp -r * /usr/local/cuda-12.6/lib64

退出 lib 文件夹

powershell 复制代码
cd ..

进入 include 文件夹

powershell 复制代码
cd include/

将所有文件复制到目标文件夹

powershell 复制代码
sudo cp -r * /usr/local/cuda-12.6/include

调整读取权限:

powershell 复制代码
sudo chmod a+r /usr/local/cuda-12.6/include/cudnn*

sudo chmod a+r /usr/local/cuda-12.6/lib64/libcudnn*

安装验证:

powershell 复制代码
 cat /usr/local/cuda-12.6/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

5. 搭建深度学习环境Anaconda + PyTorch

5.1 安装 Anaconda

进入 Anaconda 官网 Free Download | Anaconda,如没有注册过,需要注册一下才能看到下载链接。

powershell 复制代码
wget https://repo.anaconda.com/archive/Anaconda3-2025.06-0-Linux-x86_64.sh

执行 sh Anaconda3-2025.06-0-Linux-x86_64.sh 命令后,只需按提示操作:按Enter

键继续,并在需要时输入 yes 确认即可完成安装。


请注意:安装完成后需重启终端,方可继续后续操作。

创建并激活虚拟环境

powershell 复制代码
conda create --name cu126py310 python=3.10
powershell 复制代码
conda activate cu126py310

5.2 安装 PyTorch(CUDA 12.6 版本)

python 复制代码
pip3 install torch torchvision --index-url https://download.pytorch.org/whl/cu126

5.3 PyCharm 远程连接 WSL2 环境

PyCharm 的设置中选择项目里的Python 解释器选项,点击添加解释器,选择WSL

选择环境所在的 Linux 系统,点击下一步

在左边选项栏中选择 conda 环境,需要选择 conda 解释器,一般存在 conda 目录下的 bin 文件夹下

选定 conda 解释器后,点击加载环境,选择对应环境,点击创建即可成功连接到 wsl 中的 conda 环境了

新建Python文件,运行代码验证 GPU 是否可用

python 复制代码
import torch  
import torchvision  
print('PyTorch version:     ', torch.__version__)  
print('TorchVision version: ', torchvision.__version__)  
print("CUDA available:", torch.cuda.is_available())  
print("CUDA version:", torch.version.cuda)  
if torch.cuda.is_available():  
    print("GPU device:", torch.cuda.get_device_name(0))
python 复制代码
# 输出
PyTorch version:      2.9.1+cu126
TorchVision version:  0.24.1+cu126
CUDA available:       True
2.9.1+cu126
CUDA available: True
CUDA version: 12.6
GPU device: NVIDIA GeForce RTX 4060 Laptop GPU

6. 总结

通过本文的逐步配置,我们已在 Windows 11 上成功基于 WSL 2 搭建起完整的深度学习开发环境。该环境集成了 Ubuntu 子系统、CUDA 加速、Anaconda 虚拟环境及 PyCharm 开发工具,实现了在 Windows 系统中无缝使用 Linux 生态并调用 GPU 进行模型训练的目标。

本方案兼顾了 Windows 的易用性Linux 的开发效率,为深度学习开发者提供了一条高效、稳定且易于维护的实践路径,解决了双系统切换、虚拟机性能损耗等传统痛点,让开发更专注、实验更顺畅。

相关推荐
5***r9351 小时前
Ubuntu 20.04配置网络
网络·ubuntu·php
LDG_AGI2 小时前
【推荐系统】深度学习训练框架(八):PyTorch分布式采样器DistributedSampler原理详解
人工智能·pytorch·分布式·深度学习·算法·机器学习·推荐算法
老前端的功夫11 小时前
前端技术选型的理性之道:构建可量化的ROI评估模型
前端·javascript·人工智能·ubuntu·前端框架
koo36411 小时前
pytorch深度学习笔记
pytorch·笔记·深度学习
帮帮志11 小时前
【AI大模型对话】流式输出和非流式输出的定义和区别
开发语言·人工智能·python·大模型·anaconda
Aurora-silas12 小时前
Mac 本地运行 Hugging Face 大模型完全指南:PyTorch (MPS) vs Apple MLX
人工智能·pytorch·macos
Gene_202213 小时前
搭建自己的小车 —— 运行livox mid_360
linux·ubuntu
koo36413 小时前
pytorch深度学习笔记1
pytorch·笔记·深度学习
q***017714 小时前
PHP进阶-在Ubuntu上搭建LAMP环境教程
开发语言·ubuntu·php