WSL、Aanconda、Linux、Torch环境安装配置等

2023-12-05

WSL

参考链接

玩转 Windows 自带的 Linux 子系统

win10利用WSL2安装docker的2种方式

WSL安装配置

启动本地

  1. win+s ,搜索 PowerShell,右键管理员身份运行
  2. 输入命令,启用 适用于Linux的Windows子系统 功能: dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

下载并安装WSL

  1. 选择版本: 旧版 WSL 的手动安装步骤 | Microsoft Learn 。或者可以直接在微软商店下载。不过微软商店默认安装在C盘。( 自定义WSL的安装位置
  2. 下载完是 .appx 后缀的文件,将其后缀改成 .zip 并放到要安装的路径,然后解压。( Windows10/11 三步安装wsl2 Ubuntu20.04(任意盘)
  3. 解压完后运行exe文件,即可将WSL安装到当前路径。
  4. 需要注意的是安装目录的磁盘不能开 压缩内容以便节省磁盘空间 选项,否则会报错。可以右键 文件夹-->属性-->常规-->高级 找到并关闭这个选项。
  5. 以上几个步骤可以用以下命令来进行(下载好像会比较快):
    1. 下载(下面给的是20.04)
    2. 改后缀
    3. 解压
    4. 安装
Invoke-WebRequest -Uri https://wsldownload.azureedge.net/Ubuntu_2004.2020.424.0_x64.appx -OutFile Ubuntu20.04.appx -UseBasicParsing
Rename-Item .\Ubuntu20.04.appx Ubuntu.zip
Expand-Archive .\Ubuntu.zip -Verbose
cd .\Ubuntu\
.\ubuntu2004.exe

WSL设置账号密码

  1. 安装完在命令行直接设置
  2. 有时候错过了,就重新设置一下( Windows下WSL的root密码忘记解决办法
  3. 每次进入root都需要输入密码,可以设置一下某个用户进入不需要密码: sudo echo "damonzheng ALL=(ALL:ALL) NOPASSWD: ALL" >>/etc/sudoers

WSL路径

  1. windows10 Linux子系统(wsl)文件目录
  2. WSL 1的路径: C:\Users\用户名\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs
  3. WSL 2的路径:被映射到 \\wsl$ 。在文件夹上面的搜索栏输入 \\wsl$ 即可

多个版本选择

  1. 查看当前有多少个wsl: wsl -l -v
  2. 进入某个wsl: wsl -d 版本
  3. 查看ubuntu版本: cat /proc/version

Docker与Anaconda

Docker安装

运行以下命令:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo service docker start

检查docker安装正常:

service docker status
ps aux|grep docker

镜像拉取与容器运行1

  1. 拉一个镜像(这边从官网拉): docker pull ubuntu (会自动拉取最新的ubuntu,当然也可以指定版本号)
  2. 运行容器: docker run -it --name damonzheng ubuntu bash
  3. 安装一些必要的工具:
apt-get update
apt-get install vim
apt-get install ssh

Anaconda安装

anaconda官网下载,链接: Free Download | Anaconda

直接复制链接,到Linux中下载即可。注意要把目录切换到 /opt 中( Linux 软件安装到 /usr,/usr/local/ 还是 /opt 目录? ):

wget https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh

下载太慢的话可以用清华源: 清华大学开源软件镜像站

如果是在linux中直接下载的,可以拷贝到docker容器的opt里面再安装。拷贝命令:

docker cp /opt/Anaconda3-2023.09-0-Linux-x86_64.sh damonzheng:/opt

开始安装。

sh Anaconda3-2023.09-0-Linux-x86_64.sh

注意:

  1. 一直按enter,其中有一个是否接收license记得输入 yes
  2. 安装路径好像不是默认在放 Anaconda3-2023.09-0-Linux-x86_64.sh 的地方,所以其中还有一步要选择安装路径的,可以用: /opt/anaconda3
  3. 是否初始化也要选 yes

如果改变了默认安装路径的话,初始化好像是不会成功的,所以需要自己添加环境变量( Anaconda 多用户共享安装(Ubuntu) ):

  1. 编辑文件: vim /etc/profile
  2. 在文件末尾添加: export PATH=/opt/anaconda3/bin:$PATH
  3. 命令行更新一下: source /etc/profile

虚拟环境配置

假设要配置一个名为 dev 的环境,并且在里面安装 pytorch

  1. 创建虚拟环境: conda create -n dev python=3.8
  2. 激活环境(最新版的conda好像没有activate,所以只能用source): source activate dev
  3. 安装cpu版本的torch(用清华源): pip3 install torch torchvision torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple (如果要下载gpu版本的需要用别的命令)

容器提交与镜像上传

  1. 容器提交: docker commit damonzheng damonzheng_image:v1 。可以看看 docker commit docker build 的区别: docker commit 和docker build
  2. 镜像上传:可以将镜像传到线上平台,之后换机器就不需要重新配环境,可以直接使用。参考链接: docker使用与镜像提交

镜像拉取与容器运行2

  1. 镜像拉取:从平台将别人的,或者自己保存的镜像拉下来。参考链接: docker使用与镜像提交
  2. 容器运行: docker run -it -p 4611:22 -v /mnt:/mnt --name damonzheng damonzheng_image:v1 bash
    1. -p 是端口映射: -p 主机端口:容器端口
    2. -v 是数据卷映射: -v 主机目录:容器目录
    3. 因为WSL2数据默认是 /mnt 跟windows映射的,所以docker容器映射到linux的 /mnt 就可以读到windows的磁盘了。这样,数据代码都可以放在本地主机,docker只当环境使用。

连接vscode

vscode连接wsl

只要在vscode下载插件wsl,然后把远程资源管理器从 远程(隧道/SSH) 改成 WSL 目标 即可。做了数据映射其实没必要连到容器里了,直接连wsl就可以了。

如果要连到容器里的话。可以参考连接远程服务器上的docker

vscode连接远程服务器上的docker容器

在容器中运行以下命令:

apt-get update
apt-get install openssh-server
apt-get install openssh-client
apt-get install ssh
apt-get install vim

接着修改ssh的配置文件(注意端口号):

vim /etc/ssh/sshd_config
#填加以下内容:
Port 60011 # 要跟容器创建时留出来的端口号一样
PermitRootLogin yes #允许root用户使用ssh登录

重启ssh服务:

/etc/init.d/ssh restart

添加root密码:

passwd

退出容器,做连接测试:

ssh root@127.0.0.1 -p 60011

在VSCode中的ssh添加以下配置:

Host ******
    HostName 192.168.**.**
    User root
    IdentityFile C:\Users\***\.ssh\vscode.key
    ProxyCommand C:\Windows\System32\OpenSSH\ssh.exe -q -W %h:%p jumpserver
    Port 60011

要注意其中 User root ,且端口号要添加,一般IdentityFile和ProxyCommand是不需要的(反正实验室用的不需要(如下),公司的要)。

Host ******
    HostName 192.168.**.**
    User znr

在连接的时候要输入的密码就是在配置容器的 passwd 设置的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WSL、Aanconda、Linux、Torch环境安装配置等 的相关文章

随机推荐