win10下wsl2使用记录(系统迁移到D盘、配置国内源、安装conda环境、配置pip源、安装pytorch-gpu环境、安装paddle-gpu环境)

wsl2

安装好后环境测试效果如下,支持命令nvidia-smi,不支持命令nvcc,usr/local目录下没有cuda文件夹。
在这里插入图片描述

系统迁移到非C盘

wsl安装的系统默认在c盘,为节省c盘空间进行迁移。
1、输出wsl -l 查看要迁移的系统名称
在这里插入图片描述
2、执行导出命令:wsl --export Ubuntu-20.04 ./Ubuntu-20.04.tar ,以下命令将系统导出到F盘,文件名为Ubuntu-20.04.tar
在这里插入图片描述
https://zhuanlan.zhihu.com/p/536686989

3、注销原来的环境,命令格式为wsl --unregister (系统名称) 具体案例为: wsl --unregister Ubuntu-20.04

4、执行导入命令 ,命令格式为 wsl --import (发行版) (安装位置) (文件路径以及文件名称) ,具体案例为:wsl --import Ubuntu-20.04 F:\Ubuntu-20.04 F:\Ubuntu-20.04.tar --version 2,–version 2表示是wsl2导出的系统
在这里插入图片描述

配置国内源

1、备份sources.list文件
cp /etc/apt/sources.list /etc/apt/sources.list.bak
2、nano /etc/apt/sources.list , 将内容替换为以下(配置阿里云)。参考 https://zhuanlan.zhihu.com/p/421178143

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

3、然后执行 sudo apt-get update
sudo apt-get upgrade

安装conda环境

1、下载miniconda
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py39_23.11.0-1-Linux-x86_64.sh
2、创建可执行权限 chmod 777 Miniconda3-py39_23.11.0-1-Linux-x86_64.sh
3、执行安装命令
在这里插入图片描述
4、测试conda命令,如果执行报错,则配置环境变量。具体操作为在/etc/profile文件的最后面添加一行 export PATH=$PATH:/root/miniconda3/bin,文件保存后再执行 source /etc/profile
5、执行 conda init bash ,然后再执行 bash即可进入conda环境
在这里插入图片描述

pip配置豆瓣源

mkdir ~/.pip
nano ~/.pip/pip.conf
输入以下内容

[global]
index-url = http://pypi.douban.com/simple
trusted-host = pypi.douban.com

安装pytorch-gpu环境

安装命令 :pip install torch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 --index-url https://download.pytorch.org/whl/cu121
可以根据自己的cuda版本到官网查找对应安装命令 https://pytorch.org/get-started/previous-versions/
安装结果如下所示
在这里插入图片描述
验证安装效果,import torch ;torch.cuda.is_available()
在这里插入图片描述

安装paddle-gpu环境

安装命令:python -m pip install paddlepaddle-gpu==2.6.0.post120 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html
详细安装教程:https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/install/pip/linux-pip.html
在这里插入图片描述

测试paddle环境出现报错
报错一 ImportError: libgomp.so.1: cannot open shared object file: No such file or directory
执行 apt-get install libgomp1 ,安装libgomp库,然后再次测试paddle环境,出现报错二

报错二 ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: version ‘GLIBCXX_3.4.30’ not found (required by /root/miniconda3/lib/python3.9/site-packages/paddle/base/libpaddle.so)
1、先安装binutils 工具,apt install binutils
2、执行以下命令 strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX,查看所支持的c++版本信息。可以看到刚好差了一点
在这里插入图片描述
补充知识,GCC 版本 GLibC C++ ABI libstdc++.so 版本可以到以下链接查看
https://www.cnblogs.com/freelancy/p/17012054.html
在这里插入图片描述
3、尝试查找系统最高版本的/libstdc++.so.6进行覆盖,目前可以找到的最高版本也进行29,与目标版本还是存在差距
在这里插入图片描述
**解决方案一 **:只针对cuda12以下程序有效
降低paddle版本,将paddle版本降低到2.4,可能会出现报错 ImportError: libpython3.9.so.1.0: cannot open shared object file: No such file or directory;
1、先执行命令 find / -name libpython3.9.so.1.0
在这里插入图片描述
2、将python可执行程序拷贝到系统程序目录下
cp /root/miniconda3/lib/libpython3.9.so.1.0 /usr/lib
3、验证效果
在这里插入图片描述
解决方案二:编译安装 (直接apt install gcc-13 也可以解决问题,只是网络太卡)
参考https://zhuanlan.zhihu.com/p/498529973实现gcc-13.2.0的编译安装,整个编译过程很顺利
下载编译gcc-13.2.0库

sudo apt-get install build-essential #安装编译程序依赖项#编译gcc.13.2.0
wget http://ftp.gnu.org/gnu/gcc/gcc-13.2.0/gcc-13.2.0.tar.gz
tar -xvf gcc-13.2.0.tar.gz
cd gcc-13.2.0
mkdir build
cd build
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
make -j 16  #16个线程进行编译,数量可以是cpu内核的两倍

在这里插入图片描述

安装gcc++,可以看到所生成的文件名称为/usr/local/lib64/libstdc++.so.6.0.32

#安装gcc.13.2.0
make install 
ls /usr/local/lib64/*c++.so*
cp /usr/local/lib64/libstdc++.so.6.0.32  /lib/x86_64-linux-gnu/

在这里插入图片描述
此时执行strings /usr/local/lib64/libstdc++.so.6.0.32 | grep GLIBCXX命令,可以看到以下内容:
GLIBCXX_3.4.29
GLIBCXX_3.4.30
GLIBCXX_3.4.31
GLIBCXX_3.4.32

修改原有软连接,最终执行效果如下图所示

 cd /lib/x86_64-linux-gnu/ll libstdc++*rm libstdc++.so.6ln -sf libstdc++.so.6.0.32 libstdc++.so.6

在这里插入图片描述
后续如果出现cuda库的报错,请先完成ubuntu下cuda+cudnn的安装
在这里插入图片描述

安装cuda与cudnn

参考 https://developer.nvidia.com/cuda-11-8-0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=WSL-Ubuntu&target_version=2.0&target_type=deb_local 安装cuda11.8

wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-repo-wsl-ubuntu-11-8-local_11.8.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-11-8-local_11.8.0-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda

参考 https://developer.nvidia.com/cudnn-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04&target_type=deb_local

#wget https://developer.download.nvidia.com/compute/cudnn/9.0.0/local_installers/cudnn-local-repo-ubuntu2004-9.0.0_1.0-1_amd64.deb
wget https://developer.nvidia.com/downloads/compute/cudnn/secure/8.9.7/local_installers/11.x/cudnn-local-repo-ubuntu2004-8.9.7.29_1.0-1_amd64.deb
sudo dpkg -i cudnn-local-repo-ubuntu2004-8.9.7.29_1.0-1_amd64.deb
sudo cp /var/cudnn-local-repo-ubuntu2004-8.9.7.29/cudnn-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cudnn

最后执行命令apt install nvidia-cuda-toolkit

wsl1

Command nvidia-sminot found

在wsl系统中不支持nvidia-smi命令,可以改用nvidia-smi.exe命令
Command ‘nvidia-smi’ not found, but can be installed with:
在这里插入图片描述
在使用nvcc命令时,可能也会存在报错。可以尝试执行 /usr/local/cuda/bin/nvcc 试一下
Command ‘nvcc’ not found, but can be installed with:
在这里插入图片描述
这个可以在/etc/profile文件中增加环境变量,将/usr/local/cuda/bin添加到path中,具体操作如下所示
步骤一、在/etc/profile文件中新增一行 export PATH=$PATH:/usr/local/cuda/bin/
在这里插入图片描述
步骤二、输入命令 source /etc/profile 使刚刚修改的环境变量生效
步骤三、输入 nvcc命令进行测试
在这里插入图片描述

cuda库报错
Error: libcudart.so.11.0: cannot open shared object file: No such file or directory
先执行以下命令,查找一下libcudart.so文件所在路径。
步骤一: 执行命令 find /usr/local/cuda/ -name libcudart.so*,找到其路径为·/usr/local/cuda/targets/x86_64-linux/lib/

在这里插入图片描述
步骤二:将·/usr/local/cuda/targets/x86_64-linux/lib/添加到系统环境变量中。也就是添加到/etc/profile文件中,最终效果如下图所示
在这里插入图片描述

步骤二、输入命令 source /etc/profile 使刚刚修改的环境变量生效

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/474201.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Wheeltec小车的开发实录(3)之 wheeltec小车中配置自己的全局优化算法

我一贯的学习路子就先模仿后创造 所以我找到了哔哩哔哩上的一个up写好的算法放到我的小车中 ros的官方教程链接是: navigation/Tutorials/Writing a Local Path Planner As Plugin in ROS - ROS Wiki 首先去up的github上下载插件 Grizi-ju (xiaoju) GitHub 下…

VMware Workstation创建虚拟机

一、VMware Workstation下载安装 1、安装教程 VMware Workstation下载安装(含密钥) 二、VMware Workstation 创建虚拟机 1、新建虚拟机,点击“创建新的虚拟机” 2、选择自定义(高级),点击“下一步” 3…

【Java EE初阶十二】网络原理(二)

2. 传输层 2.2 TCP协议 2.2.2 关于可靠传输 4.滑动窗口 前面的三个机制,都是在保证 tcp 的可靠性; TCP 的可靠传输,是会影响传输的效率的.(多出了一些等待 ack 的时间,单位时间内能传输的数据就少了); 滑动窗口,就让可靠传输对性能的影响,更…

[嵌入式系统-24]:RT-Thread -11- 内核组件编程接口 - 网络组件 - TCP/UDP Socket编程

目录 一、RT-Thread网络组件 1.1 概述 1.2 RT-Thread支持的网络协议栈 1.3 RT-Thread如何选择不同的网络协议栈 二、Socket编程 2.1 概述 2.2 UDP socket编程 2.3 TCP socket编程 2.4 TCP socket收发数据 一、RT-Thread网络组件 1.1 概述 RT-Thread 是一个开源的嵌入…

【C Primer Plus第六版 学习笔记】 第十七章 高级数据表示

有基础&#xff0c;进阶用&#xff0c;个人查漏补缺 链表&#xff1a;假设要编写一个程序&#xff0c;让用户输入一年内看过的所有电影&#xff0c;要储存每部影片的片名和评级。 #include <stdio.h> #include <stdlib.h> /* 提供malloc()的原型 */ #include <s…

数据记笔记:USGS 查看上世纪卫星图

1 先到USGS EarthExplorer 界面&#xff0c;在address 处选择需要的城市/也可以在底下polygon处手动标出需要研究的区域 2&#xff0c;点击show&#xff0c;就会出找到的对应的区域&#xff0c;点击这个区域&#xff0c;polygon处就会有响应了。然后选择date range 3 点击下方的…

精工电联:定制精工线缆,赋能科技互联---致力于为客户提供卓越的连接线缆和连接器产品

精工电联 “定制精工线缆 &#xff0c;赋能科技互联”&#xff0c;精工电联致力于为高科技产业提供全方位、多维度的集成线缆解决方案。凭借深厚的研发实力和丰富的行业经验&#xff0c;精工电联已经成功地在工控设备、医疗设备、人工智能、新能源领域、轨道交通和超声波设备等…

7. Qt添加滑动条

前言&#xff1a; 添加一个这样的滑条&#xff0c;双方关联自动修改,也提供代码创建方式 技能&#xff1a; QSpinBox QSlider 方式一 Qt 的图形化编程&#xff08;用ui文件&#xff0c;非常简单&#xff09; 1.Spin Box 首先找到显示数字的这个部分。是input widget->sp…

Jenkins 2.426.3新版设置中文

1. 插件页面显示无法联网 &#xff0c;点击Plugins一直提示连接超时&#xff0c;设置公司代理后 2. 稍等一会儿点击如下图&#xff0c;插件就出来了&#xff0c;然后输入Locale进行下载 3. 以下是我下载安装好的 4.打开设置&#xff0c;找到Locale选项&#xff0c;设置成zh_CN…

相机图像质量研究(32)常见问题总结:图像处理对成像的影响--振铃效应

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结&#xff1a;光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结&#xff1a;光学结构对成…

IDEA配置Lombok不起作用

IDEA配置Lombok不起作用 我们通常会只用lombok来简化代码。但是使用IDEA的lombok插件时&#xff0c;Lombok并不起作用。 可以按照如下操作。 FIle -> settings ->build,excecution,deployment–>compiler–>annotation processors勾选上 enable annotation proc…

Ubuntu 20.04 安装RVM

RVM是管理Ruby版本的工具,使用RVM可以在单机上方便地管理多个Ruby版本。 下载安装脚本 首先使下载安装脚本 wget https://raw.githubusercontent.com/rvm/rvm/master/binscripts/rvm-installer 如果出现了 Connection refused 的情况, 可以考虑执行以下命令修改dns,再执…