说在前面

1. 检查开启CPU虚拟化和虚拟机平台

  • 打开任务管理器,点击性能,查看CPU虚拟化的状态,默认为禁用(我这里已经开启了),需要进Bios开启:

    1. 开机按F12或者DEL进入Bios(不同主板可能不一样,请自行查询)
    2. 点击Advanced Mode (F7)进入高级选项
    3. 点击Advanced,找到并点击 CPU Configuration
    4. 下拉菜单找到Intel Virtualization Technology,在其子菜单下把选项改成Enabled
    5. 按F10保存并推出,CPU虚拟化开启成功。

    Image

  • 开启虚拟化之后,在左下角搜索栏中搜索启用或关闭Windows功能,往下翻选择适用于Linux的Windows子系统虚拟机平台,单击确定,等待安装完成后重启。

Image

2. 安装Ubuntu20.04

  • 打开微软商店,搜索Linux,安装下面两个应用,本文选择安装Ubuntu20.04。
    Image

  • 打开Ubuntu20.04,进行初次安装和用户设置,正常会出现一个窗口,设置用户名和密码,这里自行填写,设置完成之后就会登录Ubuntu。
    Image

  • 假如没有填写用户名直接关闭了,再次打开发现默认进的是root用户,此时需要手动创建新用户sudo adduser <username>,然后输入密码就可以了。

  • 如果你之前在微软商店中下载了windows terminal,在windows terminal中可以找到刚刚安装的Ubuntu20.04.在windows terminal中可以配置Ubuntu终端,方便之后打开。
    Image

  • 然后需要检查wsl的版本,需要wsl2而不是wsl,此时打开cmd终端,输入以下命令查看安装的Linux发行版列表。
    Image
  • 如果version为2,说明已经安装为wsl2版本,如果为1,则继续输入以下命令:

    wsl --set-version Ubuntu-20.04 2 #将Ubuntu-20.04替换为你所下载安装的Linux分发版名称

  • 至此WSL2 Ubuntu20.04的安装已经完成。

  • Windows下的Ubuntu安装位置和文件夹可以直接从此电脑->Linux下找到,Ubuntu-20.04文件夹包含所有Ubuntu的文件,之后安装环境也是安装在这个文件夹。
    Image

3. Vscode连接WSL2(Ubuntu20.04)

  • 安装WSL插件,在扩展里面搜索WSL,选择安装即可。

    Image

  • 安装完毕后在左下角看到一个按钮(一个>和一个<组成),点击在中间选择connect to WSL,然后Vscode会弹出一个新窗口,左下角显示WSL子系统名称,如:WSL:Ubuntu-20.04
    Image
  • 点击左侧文件夹图标,资源管理器,打开文件夹,这里的文件夹就是前面所讲的C盘下的Ubuntu文件夹,这里我将home/<用户名>设为根目录,做为工作区,比较方便修改根目录的文件。建议大家和笔者保持一致。

  • 在vscode中打开终端(Ctrl+`),会自动登录Linux子系统,接下来就可以配置开发环境了。

    Image

4. Anaconda开发环境的搭建

  • 换源,修改Linux apt下载地址,以加快各种Linux下载速度,避免下载安装失败。在终端中输入并执行(第一次sudo需要输入用户密码)

    sudo chmod 777 /etc/apt/sources.list # 提权,方便直接使用vscode编辑文件

  • 然后在左侧文件目录中找到并打开/etc/apt/source.list,将里面的文本替换为

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    # 默认注释了源码仓库,如有需要可自行取消注释
    deb https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse
    # deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse

    deb https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse
    # deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse

    deb https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
    # deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse

    deb https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
    # deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse

    # 预发布软件源,不建议启用
    # deb https://mirrors.ustc.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
    # deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
  • Ctrl+S保存即可。
    Image

  • 然后打开新的终端(Ctrl+Shift+`),在终端中输入sudo apt update进行更新,等待更新完成。

    1
    sudo apt update # apt更新
  • 下载anaconda安装包,这里可以登录https://repo.anaconda.com/archive/网站查找要下载的版本,选择Linux-x86_64.sh结尾的。

    1
    wget -P /tmp https://repo.anaconda.com/archive/Anaconda3-2022.05-Linux-x86_64.sh # 下载anaconda安装包至 /tmp 目录下
  • 安装Anaconda3

    1
    bash /tmp/Anaconda3-2022.05-Linux-x86_64.sh # 安装anaconda
  • 安装过程一路输入回车+yes,注意:安装的最后一步时自动执行conda init,等待安装时,可以在扩展中搜索python、jupyter插件,将其安装到wsl中。

    Image

  • 安装好之后,重新打开一个终端,前面会自动进入base环境,证明安装成功。
    Image
  • conda、pip换源,加快各种依赖包的下载安装速度

    1
    conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/main # 添加conda下载源,目的是它自动生成的一个配置文件
  • 执行完之后刷新左侧的资源管理器,可以在用户文件夹/home/<用户名>/下找到.condarc文件,替换成以下内容保存即可。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    channels:
    - defaults
    show_channel_urls: true
    default_channels:
    - https://mirrors.bfsu.edu.cn/anaconda/pkgs/main
    - https://mirrors.bfsu.edu.cn/anaconda/pkgs/r
    - https://mirrors.bfsu.edu.cn/anaconda/pkgs/msys2
    custom_channels:
    conda-forge: https://mirrors.bfsu.edu.cn/anaconda/cloud
    msys2: https://mirrors.bfsu.edu.cn/anaconda/cloud
    bioconda: https://mirrors.bfsu.edu.cn/anaconda/cloud
    menpo: https://mirrors.bfsu.edu.cn/anaconda/cloud
    pytorch: https://mirrors.bfsu.edu.cn/anaconda/cloud
    pytorch-lts: https://mirrors.bfsu.edu.cn/anaconda/cloud
    simpleitk: https://mirrors.bfsu.edu.cn/anaconda/cloud

    Image

  • 更换pip下载源:终端中执行命令

    1
    pip config set global.index-url https://pypi.mirrors.ustc.edu.cn/simple # 修改pip下载源
  • 接下来,我们需要创建一个虚拟环境,我就结合《动手学深度学习-pytorch版》来创建。

    1
    2
    3
    4
    5
    6
    7
    conda create -n d2l python=3.9 -y anaconda
    # 以下不用复制
    # pyspark 所创建的虚拟环境的名称,可自定义
    # python=3.8 指定所创建的环境的python版本,可自定义
    # ananconda 继承anaconda根环境中的所有依赖包
    ## 会让安装速度变得很慢,可以删去后再自行用pip安装需要的依赖
    ## 比如pip install pandas、 pip install jupyter
  • 安装完之后可以使用如下命令激活d2l环境。发现前面base 变成了d2l

    1
    conda activate d2l

    Image

  • 安装Pytorch,对应版本下载命令在官网中查找https://pytorch.org/get-started/previous-versions/ 这里博主下载的是 CUDA11.6 版本,Pytorch=1.12.1,大家可以根据自己显卡的型号选择合适的CUDA

    1
    2
    # CUDA 11.6
    conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.6 -c pytorch -c conda-forge
  • 安装完成之后可以在命令行中输入python,依次输出以下命令,输出如下图所示则表明安装成功。

    1
    2
    3
    4
    import torch
    torch.__version__
    torch.cuda.is_available()
    torch.version.cuda

    Image

  • 安装d2l包,以方便调取《动手学深度学习》中常用的函数和类。

    1
    pip install d2l
  • 下载D2L Notebook, 可以按照以下方式进行下载

    1
    2
    3
    4
    mkdir d2l-notebook && cd d2l-notebook
    curl https://zh-v2.d2l.ai/d2l-zh-2.0.0.zip -o d2l-zh.zip
    unzip d2l-zh.zip && rm d2l-zh.zip
    cd pytorch
  • 此时我们输入jupyter notebook终端会返回一大串信息,其中复制链接http://localhost:8888.......到浏览器,即可打开jupyter notebook.

    Image


  • 至此,所有环境已经安装完成。

5. Vscode 访问 notebook

  • 上节最后使用的jupyter notebook命令比较 麻烦,这里推荐直接使用Vscode直接访问notebook,以下是配置方法。

  • 首先要生成一份jupyter notebook配置文件

    1
    jupyter notebook --generate-config  # 生成notebook配置文件
  • 在用户文件夹下(/home/<你的用户名>)下找到.jupyter文件夹,打开可以看到一个jupyter_notebook_config.py文件,打开按Ctrl+F搜索,c.NotebookApp.token = '<generated>',删掉引号内的部分,并去掉前面的注释“#”,Ctrl S保存。

    1
    2
    3
    4
    # 修改前:
    # c.NotebookApp.token = '<generated>'
    # 修改后:
    c.NotebookApp.token = ''
  • 此时再输入jupyter notebook发现链接后面的token不见了,变得简单http://localhost:8889/(不同电脑端口号可能不一样)。
    Image

  • 按下Ctrl + Shift + P,输入“重新”,点击重新加载窗口以重载Vscode,再次按下Ctrl + Shift + P,这次输入jupyter,选择Create: New Jupyter Notebook,创建好后,可以在右上角看到“选择内核”按钮,点击选择之前的虚拟环境所对应的python内核。
    Image

结尾

  • 至此,所有在Win11中安装Ubuntu20.04并配置Anaconda环境的教程全部结束,如果中途有遇到新的问题,欢迎大家在评论区留言OuO。