赞
踩
在anaconda官网https://repo.anaconda.com/上下载安装包,直接上传即可,速度较快。
sherlock@MyPC:~/Downloads$ bash Anaconda3-2023.09-0-Linux-x86_64.sh
安装后重新启动Ubuntu,终端窗口出现base
字样,即安装成功。
如果重启时候,打开终端,发现没有base字样,键入conda -V
,查看conda版本信息,弹出conda command not found
,说明 anaconda3 的路径没有加入到环境变量中。
打开~/.bashrc
文件:
sudo gedit ~/.bashrc
在打开的文件末尾加上export PATH=$PATH:/home/sherlock/anaconda3/bin
,保存并退出。
然后激活环境变量:
source ~/.bashrc
打开新的终端,还是没有base
字样,但是conda
命令可以用,终端键入以下命令:(旧版本是用conda activate base
,但是新版本需要用source
)
source activate base
发现出现base
字样,但是打开新的终端之后,又没有了。因此,在base
环境被激活之后,执行以下命令:
conda init
打开新的终端,发现有base
字样。解决!
conda create -n DSCMT -y python=3.7 pip
使环境生效,即打开虚拟环境:
conda activate DSCMT
退出当前虚拟环境:
conda deactivate
卸载可能存在的旧版本:
sudo apt-get remove docker docker-engine docker-ce docker.io
更新apt
包索引:
sudo apt-get update
安装以下包以使apt
可以通过HTTPS
使用存储库(repository):
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
添加Docker官方的GPG密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
使用下面的命令来设置stable
存储库:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
再更新一下apt
包索引:
sudo apt-get update
列出可用的版本:
apt-cache madison docker-ce
选择要安装的特定版本,第二列是版本字符串,第三列是存储库名称,它指示包来自哪个存储库,以及扩展它的稳定性级别。要安装一个特定的版本,将版本字符串附加到包名中,并通过等号(=)分隔它们:
sudo apt-get install docker-ce=<VERSION>
安装最新版本的Docker CE:
sudo apt-get install -y docker-ce
查看Docker版本:
(base) sherlock@PC:~$ docker version
Client: Docker Engine - Community
Version: 25.0.0
API version: 1.44
Go version: go1.21.6
Git commit: e758fe5
Built: Thu Jan 18 17:09:49 2024
OS/Arch: linux/amd64
Context: default
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/version": dial unix /var/run/docker.sock: connect: permission denied
测试Docker,经典的hello world:
sudo docker run hello-world
上面的 docker
命令将下载 hello-world 容器镜像,然后将启动一个容器。如果容器显示下图提示信息,那么我们可以说 docker 安装成功了。以上 docker 运行的输出如下所示:
查看docker服务是否启动:
systemctl status docker
以上输出确认 docker 守护进程服务已启动并正在运行。
启动docker服务:
sudo systemctl start docker
停止:
sudo systemctl stop docker
重启:
sudo systemctl restart docker
设置开机启动:
sudo systemctl enable docker
#1.查看显卡型号及推荐的驱动版本(如下图)
ubuntu-drivers devices
#2.自动安装推荐的显卡驱动版本
sudo ubuntu-drivers autoinstall
#3.查看驱动信息,确认安装成功
nvidia-smi
发现网络崩掉了!无法联网了。
手动安装的驱动容易出现问题,因此采用全自动的。
打开Ubuntu中软件及更新,切换到附加驱动界面。如果是一片空白,打开终端,键入以下三行命令即可解决:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
ubuntu-drivers devices
然后重新打开软件及更新的附加驱动界面。选择半自动安装中第二行命令推荐的驱动版本安装。如下图:
下载完成之后,重启电脑,发现网络再一次崩溃了!!
问题肯定是驱动安装后,影响了网络驱动。
原因:显卡驱动安装或者更新过程中,升级了内核,导致一些和内核相关包的缺失。
在不能上网的内核(电脑)中,终端键入uname -a
查看内核版本:(此电脑为6.5.0-21
版本)
重启电脑进入引导菜单,选择Ubuntu高级选项,发现在6.5.0-21
版本(新版本)下面还有一个6.2.0-26
版本(旧版本)。进入旧版本,发现可以联网,所以肯定是新版本中缺少了一些旧版本中的包。
在可以上网的旧版本的终端键入dpkg --get-selections | grep linux
查看包:
对比发现,新版本比旧版本缺少了三个包,命令行下载安装即可:
sudo apt-get install linux-headers-6.5.0-21-generic
sudo apt-get install linux-hwe-6.5-headers-6.5.0-21
sudo apt-get install linux-modules-extra-6.5.0-21-generic
下载完成之后,重启进入新版本,直接选择Ubuntu进入即可。发现可以联网了!
终端键入nvidia-smi
查看显卡信息,发现最高支持cuda12.2:
由于DSCMT项目中规定需要用到PyTorch1.10
,而对应的cuda
版本为11.3
,因此需要下载该版本。如果没有特殊要求,可以根据自己的喜好下载对应版本。
到CUDA官网https://developer.nvidia.com/cuda-toolkit-archive上下载自己需要的,注意不超过显卡支持的最高版本。
cuda11.3
最高支持的是Ubuntu20.04
,但是网上的教程上说在Ubuntu22.04
中可以直接使用Ubuntu20.04
代替,亲测可以安装成功。
在终端中依次执行最下面的两行命令:
第一行为下载文件,也可以通过链接直接在网页上下载。
第二行为安装命令。
Extraction failed.
Ensure there is enough space in /tmp and that the installation package is not corrupt
Signal caught, cleaning up
意思是/tmp目录下空间不足,或者安装包损坏了。
在尝试重新下载了几次安装包后,确认是空间不足的原因。在终端键入以下命令:
sudo mkdir /home/sherlock/tmp
sudo sh cuda_12.1.1_530.30.02_linux.run --tmpdir=/home/sherlock/tmp
重新执行安装命令。出现以下界面,一定要选择Continue
,因此之前已经安装过显卡驱动了,这里就不重复安装了。
Failed to verify gcc version. See log at /var/log/cuda-installer.log for details.
意思是缺少gcc
包,或者gcc
版本不匹配。
返回到cuda官网,在进行版本选择的界面,点击红框部分:
找到下面红框位置,点击箭头所指:
在下面的界面中,可以看到需要的gcc
版本为9.x
:
虚晃一枪:
为了方便,直接选择用以下两条命令进行安装:(容易导致安装的gcc版本不匹配,还是用下面的命令直接安装比较好)
sudo apt update
sudo apt install build-essential
第二条命令实际上安装的是build-essential
,它包含了 GNU 编辑器集合,GNU 调试器,和其他编译软件所必需的开发库和工具。这个命令将会安装一系列软件包,包括gcc,g++,和make。
真正的解决方案:
安装结束后继续报错gcc版本不匹配,安装的版本为gcc 11.2.0
。命令行重新安装gcc 9.x
。
sudo apt install gcc-9 g++-9
安装之后,可以通过gcc-9
命令使用gcc 9.5
了。
使用gcc --version查看当前电脑的gcc版本,如果不是9.x,需要切换gcc的版本。参考https://blog.csdn.net/muxuen/article/details/135298656?spm=1001.2014.3001.5506。
将11
和9
版本的gcc
添加到update-alternatives
工具中,就可以方便的切换,不需要手动设置命令的软连接。
使用如下命令查看当前可以用来直接替换gcc的版本号,由于两个gcc版本都还没有加入到这个工具中,所以显示为空。
> sudo update-alternatives --config gcc
update-alternatives: error: no alternatives for gcc
可以使用下面的命令查看装好的gcc版本:
dpkg -l | grep gcc
终端键入以下命令将gcc-9和gcc-11分别添加到update-alternatives工具中:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 20 --slave /usr/bin/g++ g++ /usr/bin/g++-9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 25 --slave /usr/bin/g++ g++ /usr/bin/g++-11
再次执行sudo update-alternatives --config gcc
,此时就能看到两个版本的可选项了:
键入序号来选择你需要切换的gcc版本,回车即可。比如当前我需要gcc-9
,因此键入2
后回车。
通过gcc --version
查看当前gcc版本:
说明gcc版本切换成功!
重新运行安装cuda的命令:
出现上面界面时用键盘的方向下键,选到Continue
,然后Enter
。
上面界面中,键入accept
,按Enter
。
这个界面中,先让光标停在Driver(刚进入时就在Driver上),按Enter
,取消选择(方括号中的X消失),然后按方向下键选择到install
,再按Enter
。
正常应该是直接跳出下面的summary界面,但是我的直接结束了,所以又重新执行了一下。
sudo gedit ~/.bashrc
将下面的代码加到文件中,保存并退出。
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/extras/CPUTI/lib64
export CUDA_HOME=/usr/local/cuda/bin
export PATH=$PATH:$LD_LIBRARY_PATH:$CUDA_HOME
使用下面的命令重新激活文件,使得系统完成配置更新:
source ~/.bashrc
检查配置是否正确:
nvcc -V
出现以上界面,说明cuda 11.3
安装成功。
终端进入之前创建的虚拟环境DSCMT。
打开PyTorch官网https://pytorch.org/get-started/previous-versions/,找到要安装的版本。
将该命令复制后键入终端进行下载:
conda install pytorch==1.10.0 torchvision==0.11.0 torchaudio==0.10.0 cudatoolkit=11.3 -c pytorch -c conda-forge
出现以下界面,说明PyTorch安装成功!
终端进入python环境,导入torch库后,执行以下命令,返回为True说明pytorch可以正常调用GPU去进行计算,否则配置有问题。
print(torch.cuda.is_available())
依次执行以下命令,安装OpenCV需要的依赖包:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python3-dev python3-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper1 libjasper-dev libdc1394-dev
最后一行命令在安装的时候容易出现报错:
参考了网上很多添加镜像链接的教程,都无法解决该问题,最后通过下面这种方法解决了。
依次执行命令:
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
sudo apt update
然后重新下载两个包libjasper1
,libjasper-dev
:
sudo apt install libjasper1 libjasper-dev
成功!
重新执行容易出错的那条命令,完成其余包的安装:
sudo apt-get install python3-dev python3-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper1 libjasper-dev libdc1394-dev
所有尚未安装成功的包都成功安装好了。
从OpenCV官网https://opencv.org/releases/page/2/上下载OpenCV – 4.5.1
,并解压。
终端打开OpenCV – 4.5.1
的目录,新建文件夹build,用于存放编译后的文件。然后执行以下命令,用于Cmake的编译:
sudo cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=ON -D CMAKE_INSTALL_PREFIX=/usr/local ..
注意该命令中:
OPENCV_GENERATE_PKGCONFIG=ON
这个配置一定要加上,Linux下我们使用opencv,需要使用pkg-config来进行环境变量的管理,这个软件需要.pc类型的文件作为软件配置信息,如果我们不配置,会出现opencv安装成功但是c编程无法使用的情况。
另外就是 CMAKE_INSTALL_PREFIX=/usr/local
这个关于安装路径的配置,这里的安装路径是在/usr/local
下,这也是opencv的默认配置。
千万注意,最后的两个点点..
,千万不要删,这个指向CMakeLists.txt
所在的目录。
其他编译项:
-D WITH_CUDA=OFF
有cuda编译时改为ON
-D WITH_FFMPEG=ON
要提前安装ffmpeg才能ON
需要编译contrib
,指定代码路径:-D OPENCV_EXTRA_MODULES_PATH=/home/ly/opencv_contrib-4.0.0/modules
其他还有好多配置项,需要根据具体应用场景使用,如果只是OpenCV普通应用的话,都无需配置。
出现以上界面说明Cmake编译成功!
终端键入nproc
查看电脑处理器的核心数:
执行下面的命令开始编译过程:(-j
后面的数字根据自己电脑的核心数更改)
sudo make -j8
报错了!
解决方案:
通过执行以下命令,打开文件gapi_async_test.cpp
,加入头文件#include <thread>
,保存并退出。
sudo gedit ./opencv-4.5.1/modules/gapi/test/gapi_async_test.cpp
重新进行编译:
出现以上界面,编译成功!
安装OpenCV:
sudo make install
在文件夹/etc/ld.so.conf.d/
中加入对于库的.conf
文件,首先新建opencv.conf
并打开:
sudo gedit /etc/ld.so.conf.d/opencv.conf
在文件中写入/usr/local/lib
:
保存并退出后,终端输入以下代码,将/etc/ld.so.conf.d
中的数据读入缓存:
sudo ldconfig
添加pkg-config
环境变量,配置bash
,修改bash.bashrc
文件:
sudo gedit /etc/bash.bashrc
在文末加上:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
保存后退出,终端输入以下命令使配置激活生效:
source ~/.bashrc
更新一下:
sudo apt install mlocate
sudo updatedb
查看一下opencv的版本信息,终端输入 注意是opencv4
pkg-config --modversion opencv4
如下图,正确显示版本号表示opencv安装成功!
终端进入虚拟环境后,执行一下命令进行安装:
sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev
pip install pillow==8.3.1
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。