WSL2的安装与配置(创建Anaconda虚拟环境、更新软件包、安装PyTorch、VSCode)
1. WSL2 安装
-
以管理员身份打开 PowerShell(“开始”菜单 >“PowerShell” >单击右键 >“以管理员身份运行”),然后输入以下命令:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart -
以管理员身份打开 PowerShell 并运行:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart -
❗️重新启动计算机(必须)
-
下载内核并安装: 适用于 x64 计算机的 WSL2 Linux 内核更新包
-
打开 PowerShell,然后在安装新的 Linux 发行版时运行以下命令,将 WSL 2 设置为默认版本
wsl --set-default-version 2 -
打开 Microsoft Store,并下载喜欢的 Linux 分发版。
- Ubuntu 18.04 LTS
- Ubuntu 20.04 LTS
- Ubuntu 22.04 LTS
- Debian GNU/Linux
- Fedora Remix for WSL
-
安装完成后在 Microsoft Store 打开安装的系统,首次启动新安装的 Linux 分发版时,将打开一个控制台窗口,系统会要求你等待一分钟或两分钟,以便文件解压缩并存储到电脑上。 未来的所有启动时间应不到一秒。
-
然后,需要为 Linux 分发版创建用户帐户和密码。
-
之后在 cmd 或 Powershell 中输入 wsl 即可打开 WSL(直接 Windows + R,输入
wsl即可运行 WSL2)。
2. 更改 WSL 所在路径
安装完 WSL 后,默认是在 C 盘下的,一般来说系统盘的容量通常来说是有限的,需要更改安装目录。
- 查看 WSL 的运行状态:
wsl -l -v - 确保 WSL 处于关闭状态(Stopped),如果是 Running,则需要关闭:
之后再次查询 WSL 状态wsl --shutdown - 导出当前的 Linux 系统镜像:
之后会在 F 盘中有一个大小为 1.2G 的--export Ubuntu-20.04 f:\image_ubuntu20.04.tarimage_ubuntu20.04.tar文件 - 移除之前注册的 WSL:
wsl --unregister Ubuntu-20.04 - 再次输入查看 WSL 的运行状态:
wsl -l -v
这样说明我们取消注册成功了适用于 Linux 的 Windows 子系统没有已安装的分发版。 可以通过访问 Microsoft Store 来安装分发版: https://aka.ms/wslstore - 我们重新注册 WSL:
wsl --import Ubuntu-20.04 f:\WSL-Ubuntu-20.04 f:\image_ubuntu20.04.tar - 重新查看 WSL 状态:
wsl -l -v
此时,我们的 WSL 就已经移动完成了!NAME STATE VERSION * Ubuntu-20.04 Stopped 2
注意:
- 移动完成后不需要重新设置密码了
image_ubuntu20.04.tar这个文件可以删除掉了WSL-Ubuntu-20.04/这个文件夹就是 WSL2 的系统盘,不要删除!
3. WSL2 首次配置
3.1 更新软件包
安装完 WSL2 之后,我们就可以理解为它就是一个全新的系统,所以我们首先需要更新软件包:
sudo apt update
3.2 安装 Anaconda
-
下载安装包
cd wget https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh -
安装
sh Anaconda3-2023.09-0-Linux-x86_64.sh -
打开环境变量
cd notepad.exe ~/.bashrc -
设置环境变量
# 添加 Anaconda 环境变量 export PATH="/home/WSL用户名/anaconda3/bin:$PATH" -
设置快捷键
# 设置快捷键(可选) alias act='conda activate' alias deact='conda deactivate' -
更新环境变量
source ~/.bashrc -
此时在 bash 中输入:
conda --version得到下面的结果:
conda 23.7.4此时,Anaconda 就已经安装好了!
Tips:
- 嫌弃
wget下载慢的话🤪,可以直接在 Windows 上下载 Anaconda,之后cd到下载目录,安装即可🤗 - 安装 Anaconda 时,协议太长了可以按 q 跳过(反正你也不看🤭)
- Anaconda 安装可能会很慢,耐心一点🫡
- 在执行 step 3 时,如果说没有找到
~/.bashrc,请直接cd到root后再执行 - 在执行 step 4 时,
/home/WSL用户名/就是你 Anaconda 安装的位置。比如我直接安装在了root下,所以就是export PATH="/root/anaconda3/bin:$PATH"
3.3 创建 Anaconda 虚拟环境
因为 WSL2 是一个新系统,所以我们需要重新创建环境。
-
创建环境
conda create -n 虚拟环境名称 python=3.8Downloading and Extracting PackagesPreparing transaction: done Verifying transaction: done Executing transaction: done # # To activate this environment, use # # $ conda activate learning # # To deactivate an active environment, use # # $ conda deactivate此时,虚拟环境安装完毕
-
初始化 conda 环境
conda init之后退出这个 bash,重新打开一个
-
激活虚拟环境
act 虚拟环境名称 -
安装必要的库
pip install 库的名称
4. 安装 PyTorch
-
先查看 CUDA 版本:
nvidia-smi+-----------------------------------------------------------------------------+ | NVIDIA-SMI 510.60.02 Driver Version: 512.15 CUDA Version: 11.6 | |-------------------------------+----------------------+----------------------+ | 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 ... On | 00000000:01:00.0 On | N/A | | 0% 35C P8 13W / 240W | 719MiB / 8192MiB | 5% Default | | | | N/A | +-------------------------------+----------------------+----------------------++-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| | No running processes found | +-----------------------------------------------------------------------------+ -
在 PyTorch 官网 上找到对应的安装命令:
pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116Successfully installed certifi-2023.7.22 charset-normalizer-3.3.0 idna-3.4 pillow-10.1.0 requests-2.31.0 torch-1.13.1+cu116 torchaudio-0.13.1+cu116 torchvision-0.14.1+cu116 typing-extensions-4.8.0 urllib3-2.0.7 -
测试 PyTorch 是否可用:
python>>> import torch >>> dummpy_tensor = torch.ones((1, 2, 3)) >>> dummpy_tensor.cuda() tensor([[[1., 1., 1.],[1., 1., 1.]]], device='cuda:0')现在,我们的 CUDA 版本的 PyTorch 就可以用了!
4. 使用 VSCode 打开 WSL2
4.1 方式1
直接在我们想要打开的文件夹下,Shift + 右键,选择 在此处打开 Linux shell(L),之后在打开的终端输入 code ./ 即可。或者直接在 WSL2 终端中输出 code ./,之后手动再次选择文件夹也可以。
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
- 打开 Allow LAN(允许局域网)
- 打开环境变量
cd notepad.exe .bashrc - 添加语句:
此处需要注意的是,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中设置 - 更新环境变量
source .bashrc - 可以通过
ping命令来进行测试
Note
- 如果之后失效了,关闭 Allow LAN(允许局域网) 再打开就可以了。
知识来源
- 旧版 WSL 的手动安装步骤
- WSL2 修改安装目录
相关文章:
WSL2的安装与配置(创建Anaconda虚拟环境、更新软件包、安装PyTorch、VSCode)
1. WSL2 安装 以管理员身份打开 PowerShell(“开始”菜单 >“PowerShell” >单击右键 >“以管理员身份运行”),然后输入以下命令: dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /a…...
【鸿蒙软件开发】ArkTS常见组件之单选框Radio和切换按钮Toggle
文章目录 前言一、Radio单选框1.1 创建单选框1.2 添加Radio事件1.3 场景示例二、切换按钮Toggle2.1 创建切换按钮2.2 创建有子组件的Toggle2.3 自定义样式selectedColor属性switchPointColor属性 2.4 添加事件2.5 示例代码 总结 前言 Radio是单选框组件,通常用于提…...
今年阿里云双十一服务器优惠价格讨论_看看大家怎么说?
2023阿里云双十一云服务器大概会降到什么区间?阿里云服务器网认为会在当前的优惠价格基础上,降价10%左右,可以在阿里云CLUB中心领券:aliyun.club 云服务器专用满减优惠券。阿里云服务器网从各个渠道了解到大家对今年阿里云双十一服…...
LC-1402. 做菜顺序(记忆化搜索 ==> 动态规划、贪心)
1402. 做菜顺序 困难 一个厨师收集了他 n 道菜的满意程度 satisfaction ,这个厨师做出每道菜的时间都是 1 单位时间。 一道菜的 「 like-time 系数 」定义为烹饪这道菜结束的时间(包含之前每道菜所花费的时间)乘以这道菜的满意程度&#x…...
泰森多边形
泰森多边形 93 泰森多边形又叫沃洛诺伊图(Voronoi diagram),得名于Georgy Voronoi,是一组由连接两邻点线段的垂直平分线组成的连续多边形。一个泰森多边形内的任一点到构成该多边形的控制点的距离小于到其他多边形控制点的距离。…...
YOLOV8 进行docker环境配置
修改docker文件 原docekerfile中ADD https://ultralytics.com/assets/Arial.ttf https://ultralytics.com/assets/Arial.Unicode.ttf /root/.config/Ultralytics/下载很慢,可以在外部下载好,放入docker文件夹中,再将源代码改为ADD Arial.ttf…...
sealos一键部署K8S环境(sealos3.0时代教程过时了,目前已经4.0了,请移步使用Sealos一键安装K8S)
1 安装Sealos(4.0版本) sealos部署k8s贼方便,只需要一条init命令即可,3分钟部署完(下载安装包的时间不算)。 官方教程:https://www.sealyun.com/instructions/1st #主机名: hostnamectl set-hostname mas…...
【C++】stackqueue
适配器是一种设计模式 , 该种模式是将一个类的接口转换成客户希望的另外一个接口 。 虽然 stack 和 queue 中也可以存放元素,但在 STL 中并没有将其划分在容器的行列,而是将其称为 容器适配 器 ,这是因为 stack 和队列只是对其他容…...
Hive篇面试题+详解
Hive篇面试题 1.什么是Hive?它的主要功能是什么? Hive是一个基于Hadoop的数据仓库工具,它提供了一个类SQL的查询语言(HiveQL)来查询和分析存储在Hadoop集群中的大规模数据。Hive的主要功能是将结构化数据映射到Hadoop…...
Mysql批量插入更新如何拆分大事务?
拆分大事务 一、解决方案二、遇到问题之前在运行Mysql任务的时候报错:binlog(1610646347 bytes) write threshold exceeded,原因是Mysql任务提交的是个大事务,超出binlog设定阈值,使得系统自动终止事务 一、解决方案 使用limit分页拆分大事务 CREATE PROCEDURE `split_tran…...
【计算机网络原理】初始网络基础
文章目录 1. 网络发展史1.1 单机时代1.2 网络互连局域网 LAN广域网 WAN 2. 网络通信基础2.1 IP 地址2.2 端口号2.3 协议2.4 五元组2.5 协议分层2.5.1 OSI七层模型2.5.2 TCP/IP五层模型 2.6 封装和分用2.6.1 数据封装(发送方情况)2.6.2 数据分用(接收方情况) 总结 1. 网络发展史…...
【sqlserver】配置管理器打不开
问题描述 无法连接到 WMI 提供程序。您没有权限或者该服务器无法访问。请注意,您只能使用SQL Server 配置管理器来管理 SQL Server 2005 和更高版本的服务 器。无效类[0x80041010] 解决方式: 命令提示符-右键-以管理员身份运行,再把以下代码执行一遍&…...
磁盘清理 | 已经卸载的软件还出现在应用和功能里怎么办?
一句话总结解决方法: 安装Geek Uninstaller,删除卸载残留。 问题描述: 最近磁盘满了,需要删除一些平时不常用的软件,但是发现一个问题。就是已经删除的软件,仍然会出现在“应用与功能”中。并且显示卸载图标为灰色&am…...
C++之异常
目录 一、C语言传统的处理错误的方式 二、C的异常 1、概念 2、关键字 3、基本格式 三、异常的抛出和捕获 1、异常的抛出和匹配原则 2、 在函数调用链中异常栈展开匹配原则 四、异常抛派生类,基类捕获 五、异常的重新抛出 六、异常安全 七、异常的优缺点…...
动态天气预报:Living Weather HD for Mac
Living Weather HD能够为Mac用户提供及时、准确、个性化的天气信息,并提供了丰富的定制选项,使用户能够更加方便地查看天气状况。 具有以下特点: 显示世界各地的准确天气预报和当地时间。自动探测出用户所在的首个地点,并通过搜…...
深度神经网络时与协方差矩阵
平时训练深度神经网络时,什么时候用到了协方差矩阵 在深度神经网络的平时训练过程中,一般情况下不直接使用协方差矩阵。然而,协方差矩阵的概念和相关性的考虑在某些情况下可以对网络的训练和优化起到一定的指导作用。 下面是一些与协方差矩…...
idea中java类属性(字段)链式赋值
很多人看到标题可能会想到 lombok 的 Builder,lombok 在国内用的挺多的,开源的组件中 mybatis-plus 中用到了这个,使用这个有一个问题就是通过对应 get 和 set 方法找不到对应的赋值方法,因为 lombok 使用了 apt 在编译期生成了相…...
vue通知(滚动)
1. li宽度不顾定 <template><div id"app"><div id"box" mouseover"clearLeft" mouseleave"setLeft"><ul :style"{ transform: translateX( left px) }" ref"cmdlist"><li v-for&qu…...
linux安装新版本git2、配置github-ssh。(centos、aws)
一、安装Git 1、yum默认版本git #1.安装git sudo yum install git -y #2.确认Git已经安装成功 git --version如果要安装较新版本,可以安装一个repo ,但是我这第一次尝试失败了,执行完提示找不到git2u,ius repo也连不上。而且每次…...
毅速丨3D打印结合拓扑优化 让轻量化制造更容易
制造轻量化对于提高能源利用效率、提高产品性能和减少环境影响,推动制造业的绿色化、高质量发展具有重要的促进作用。 轻量化设计对许多领域都有着重要影响,尤其是那些需要降低能源消耗、提高运输效率或减少对环境影响的领域。如航空航天,轻量…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...
JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
【JVM面试篇】高频八股汇总——类加载和类加载器
目录 1. 讲一下类加载过程? 2. Java创建对象的过程? 3. 对象的生命周期? 4. 类加载器有哪些? 5. 双亲委派模型的作用(好处)? 6. 讲一下类的加载和双亲委派原则? 7. 双亲委派模…...
Web中间件--tomcat学习
Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...
Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)
引言 工欲善其事,必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后,我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集,就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...
