1. WSL2 安装

⚠️ 先决条件:Windows 10 版本需要 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11 才能使用以下命令。

1.1 🌟 新版安装

wsl --install

1.2 手动安装

  1. 以管理员身份打开 PowerShell(“开始”菜单 >“PowerShell” >单击右键 >“以管理员身份运行”),然后输入以下命令:

    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    
  2. 以管理员身份打开 PowerShell 并运行:

    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
    
  3. ❗️重新启动计算机(必须)

  4. 下载内核并安装: 适用于 x64 计算机的 WSL2 Linux 内核更新包

  5. 打开 PowerShell,然后在安装新的 Linux 发行版时运行以下命令,将 WSL 2 设置为默认版本

    wsl --set-default-version 2
    
  6. 打开 Microsoft Store,并下载喜欢的 Linux 分发版。

  7. 安装完成后在 Microsoft Store 打开安装的系统,首次启动新安装的 Linux 分发版时,将打开一个控制台窗口,系统会要求你等待一分钟或两分钟,以便文件解压缩并存储到电脑上。 未来的所有启动时间应不到一秒。

  8. 然后,需要为 Linux 分发版创建用户帐户和密码。

  9. 之后在 cmd 或 Powershell 中输入 wsl 即可打开 WSL(直接 Windows + R,输入 wsl 即可运行 WSL2)。

2. 优化

2.1 更改 WSL 所在路径

安装完 WSL 后,默认是在 C 盘下的,一般来说系统盘的容量通常来说是有限的,需要更改安装目录。

  1. 查看 WSL 的运行状态:
    wsl -l -v
    
  2. 确保 WSL 处于关闭状态(Stopped),如果是 Running,则需要关闭:
    wsl --shutdown
    
    之后再次查询 WSL 状态
  3. 导出当前的 Linux 系统镜像:
     wsl --export Ubuntu-20.04 f:\image_ubuntu20.04.tar
    
    之后会在 F 盘中有一个大小为 1.2G 的 image_ubuntu20.04.tar 文件
  4. 移除之前注册的 WSL:
    wsl --unregister Ubuntu-20.04
    
  5. 再次输入查看 WSL 的运行状态:
    wsl -l -v
    
    适用于 Linux 的 Windows 子系统没有已安装的分发版。
    可以通过访问 Microsoft Store 来安装分发版:
    https://aka.ms/wslstore
    
    这样说明我们取消注册成功了
  6. 我们重新注册 WSL:
    wsl --import Ubuntu-20.04 f:\WSL-Ubuntu-20.04 f:\image_ubuntu20.04.tar
    
  7. 重新查看 WSL 状态:
    wsl -l -v
    
    NAME            STATE           VERSION
    * Ubuntu-20.04    Stopped         2
    
    此时,我们的 WSL 就已经移动完成了!

💡 注意

  1. 移动完成后不需要重新设置密码了
  2. image_ubuntu20.04.tar 这个文件可以删除掉了
  3. WSL-Ubuntu-20.04/ 这个文件夹就是 WSL2 的系统盘,不要删除!

2.2 修改默认账号

如果移动完毕后默认账号是 root,我们可以修改默认账号为我们自己的账号。

# 1. 编辑 wsl.conf 文件
vim /etc/wsl.conf

# 2. 添加下面内容
[user]
default=我们之前设置的账号名

# 3. 关闭 wsl
wsl --shutdown

# 4. 打开 wsl
wsl

此时 wsl 默认使用的是账户名就是我们之前的账号名了。

💡 不会使用 vim 则可以使用 notepad.exe

3. WSL2 首次配置

3.1 更新软件包

安装完 WSL2 之后,我们就可以理解为它就是一个全新的系统,所以我们首先需要更新软件包:

sudo apt update

3.2 配置 Anaconda

3.2.1 安装 Anaconda

# 1. 先 cd 到根目录下
cd

# 2. 下载安装包:在此地址 https://www.anaconda.com/download/success 中找到安装包的链接
wget https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh

# 3. 安装 anaconda
bash Anaconda3-2024.02-1-Linux-x86_64.sh

# 4. 按照 anaconda 提示进行安装,默认安装到 /home/用户名/anaconda3

3.2.2 设置 Anaconda 环境变量

# 1. 打开系统环境变量文件
vim ~/.bashrc

# 2. 添加 Anaconda 环境变量
export PATH="/home/用户名/anaconda3/bin:$PATH"

# 3. (可选)设置 Anaconda 快捷键
alias act='conda activate'
alias deact='conda deactivate'

# 4. 更新环境变量
source ~/.bashrc

# 5. 验证是否添加完成
conda --version

得到下面的结果:

conda 24.1.2

此时,Anaconda 就已经安装好了!

💡 Tips

  1. 嫌弃 wget 下载慢的话,可以直接在 Windows 上下载 Anaconda(注意是 Linux 版本,即 64-Bit (x86) Installer (997.2M)),之后 cd 到下载目录,安装即可🤗
  2. 安装 Anaconda 时,协议太长了可以按 q 跳过(反正你也不看🤭)
  3. Anaconda 安装可能会很慢,耐心一点
  4. 在执行打开环境变量文件时,如果说没有找到 ~/.bashrc,请直接 cd/ 后再执行
  5. 在设置 Anaconda 环境变量路径时,/home/WSL用户名/ 就是你 Anaconda 安装的位置。比如我直接安装在了 /home 下,所以就是 export PATH="/home/anaconda3/bin:$PATH"

3.3 创建 Anaconda 虚拟环境

因为 WSL2 是一个新系统,所以我们需要重新创建环境。

3.3.1 创建虚拟环境

# 创建虚拟环境
conda create -n 虚拟环境名称 python=3.10

创建过程示例如下:

(base) leovin@DESKTOP-XXXXX:~$ conda create -n dl python=3.10
Channels:
 - defaults
Platform: linux-64
Collecting package metadata (repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /home/leovin/anaconda3/envs/dl

  added / updated specs:
    - python=3.10


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    bzip2-1.0.8                |       h5eee18b_5         262 KB
    ca-certificates-2024.3.11  |       h06a4308_0         127 KB
    pip-23.3.1                 |  py310h06a4308_0         2.7 MB
    python-3.10.14             |       h955ad1f_0        26.8 MB
    setuptools-68.2.2          |  py310h06a4308_0         957 KB
    tzdata-2024a               |       h04d1e81_0         116 KB
    wheel-0.41.2               |  py310h06a4308_0         109 KB
    xz-5.4.6                   |       h5eee18b_0         651 KB
    ------------------------------------------------------------
                                           Total:        31.7 MB

The following NEW packages will be INSTALLED:

  _libgcc_mutex      pkgs/main/linux-64::_libgcc_mutex-0.1-main
  _openmp_mutex      pkgs/main/linux-64::_openmp_mutex-5.1-1_gnu
  bzip2              pkgs/main/linux-64::bzip2-1.0.8-h5eee18b_5
  ca-certificates    pkgs/main/linux-64::ca-certificates-2024.3.11-h06a4308_0
  ld_impl_linux-64   pkgs/main/linux-64::ld_impl_linux-64-2.38-h1181459_1
  libffi             pkgs/main/linux-64::libffi-3.4.4-h6a678d5_0
  libgcc-ng          pkgs/main/linux-64::libgcc-ng-11.2.0-h1234567_1
  libgomp            pkgs/main/linux-64::libgomp-11.2.0-h1234567_1
  libstdcxx-ng       pkgs/main/linux-64::libstdcxx-ng-11.2.0-h1234567_1
  libuuid            pkgs/main/linux-64::libuuid-1.41.5-h5eee18b_0
  ncurses            pkgs/main/linux-64::ncurses-6.4-h6a678d5_0
  openssl            pkgs/main/linux-64::openssl-3.0.13-h7f8727e_0
  pip                pkgs/main/linux-64::pip-23.3.1-py310h06a4308_0
  python             pkgs/main/linux-64::python-3.10.14-h955ad1f_0
  readline           pkgs/main/linux-64::readline-8.2-h5eee18b_0
  setuptools         pkgs/main/linux-64::setuptools-68.2.2-py310h06a4308_0
  sqlite             pkgs/main/linux-64::sqlite-3.41.2-h5eee18b_0
  tk                 pkgs/main/linux-64::tk-8.6.12-h1ccaba5_0
  tzdata             pkgs/main/noarch::tzdata-2024a-h04d1e81_0
  wheel              pkgs/main/linux-64::wheel-0.41.2-py310h06a4308_0
  xz                 pkgs/main/linux-64::xz-5.4.6-h5eee18b_0
  zlib               pkgs/main/linux-64::zlib-1.2.13-h5eee18b_0


Proceed ([y]/n)? y


Downloading and Extracting Packages:

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate dl
#
# To deactivate an active environment, use
#
#     $ conda deactivate

3.3.2 激活虚拟环境以及安装第三方库

# 1. 激活环境(💡  如果在 ~/.bashrc 中添加了快捷键,那么可以使用 act 代替 conda activate)
act 虚拟环境名称

# 2. 安装第三方库(-i https://pypi.tuna.tsinghua.edu.cn/simple 的目的是换源,可以加快下载速度)
pip install 第三方库的名称 -i https://pypi.tuna.tsinghua.edu.cn/simple

4. 安装 PyTorch

4.1 查看 CUDA 版本

# 查看显卡状态
nvidia-smi

示例如下:

(dl) leovin@DESKTOP-XXXX:~$ nvidia-smi
Sat Apr 27 23:16:39 2024
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.76.01              Driver Version: 552.22         CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 3070        On  |   00000000:01:00.0  On |                  N/A |
|  0%   47C    P8             15W /  240W |    1258MiB /   8192MiB |      8%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+

4.2 在 PyTorch 官网找到相应的安装命令

💡 Tips

  • PyTorch 官网链接
  • 请安装对应 CUDA 版本的 PyTorch,如果 CUDA 版本大于 PyTorch 支持的最大版本,则选择最大版本。比如我的 CUDA 版本是 12.4,但截止 2024/04/27,PyTorch 支持的最大 CUDA 版本为 12.1,那么则选择 12.1 进行安装
  • 如果没有 GPU,则安装 CPU 版本
# 这里添加 -i 是为了加速其他第三方包的下载速度
pip3 install torch torchvision torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple

4.3 测试 PyTorch 是否可用

# 1. 打开 Python
python

# 2. 导入 PyTorch
import torch

# 3. 查看 PyTorch 版本
print(torch.__version__)

# 4. 查看 CUDA 是否可用(💡  如果安装的是 CPU 版本则不用运行)
print(f"{torch.cuda.is_available() = }")

示例结果如下:

(dl) leovin@DESKTOP-XXXX:~$ python
Python 3.10.14 (main, Mar 21 2024, 16:24:04) [GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> print(torch.__version__)
2.3.0+cu121
>>> print(f"{torch.cuda.is_available() = }")
torch.cuda.is_available() = True

4. 使用 VSCode 打开 WSL2

4.1 方式1

直接在我们想要打开的文件夹下,Shift + 右键,选择 在此处打开 Linux shell(L),之后在打开的终端输入 code ./ 即可。或者直接在 WSL2 终端中输出 code ./,之后手动再次选择文件夹也可以。

# 使用 VSCode 打开当前路径的📂文件夹
code ./
Installing VS Code Server for x64 (f1b07bd25dfad64b0167beb15359ae573aecd2cc)
Downloading: 100%
Unpacking: 100%
Unpacked 1608 files and folders to /root/.vscode-server/bin/xxxxxxxxxxxxxxxxxxxxx

这里是提示我们要安装 VSCode,等待安装完毕即可。

4.2 方式2

当我们安装好 WSL2 后,可以在 VSCode 中搜索 WSL 插件,安装完毕后即可在 VSCode 中远程链接 WSL2 了(和 SSH 远程链接服务器差不多)。

5. WSL2 和 Windows 共享 Proxy

  1. 打开 Allow LAN(允许局域网)
  2. 打开环境变量
    cd
    notepad.exe .bashrc
    
  3. 添加语句:
    hostip=$(cat /etc/resolv.conf |grep -oP '(?<=nameserver\ ).*')
    export https_proxy="http://${hostip}:7890"
    export http_proxy="http://${hostip}:7890"
    export all_proxy="socks5://${hostip}:7890"
    
    此处需要注意的是,7890 是你设置的端口号,可以在 Proxy 软件中的 port 中设置
  4. 更新环境变量
    source .bashrc
    
  5. 可以通过 ping 命令来进行测试

Note

  1. 如果之后失效了,关闭 Allow LAN(允许局域网) 再打开就可以了。

知识来源

  1. 旧版 WSL 的手动安装步骤
  2. WSL2 修改安装目录
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐