一、下载安装Anaconda3
1.前往Anaconda3清华镜像下载Anaconda3-2021.11-Linux-aarch64.sh
文件
2.给安装文件可执行权限,并且运行安装程序。
chmod +x Anaconda3-2021.11-Linux-aarch64.sh
./Anaconda3-2021.11-Linux-aarch64.sh
3.之后会出现欢迎信息和许可文件内容
4.注意按一次回车之后左下角会显示一个“--More--”,意思是许可信息还没显示完,,直接长按回车就好,下一步是输入yes or no,回车并不是默认输入,最后许可信息显示完出现下面提示,问你是否接受许可文件,输入yes继续安装即可。
5.之后就提示你要将Anaconda安装在目录/home/yourname/anaconda3下面:(建议使用此目录),直接按回车键表示使用此目录,此时就进行安装过程了
6.等待安装完之后会询问是否把Anaconda的bin添加到用户的环境变量中,选择no,避免与ROS的python产生冲突
至此,Anaconda3安装完毕!
二、Anaconda3环境配置
为了避免与ROS产生冲突,上一安装步骤中未执行conda init
命令,因此无法使用conda的tab命令补全,并且进入conda的base虚拟环境步骤也比较繁琐,此节就是为了解决这两个问题。
2.1 修改conda源为国内源
添加清华源
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/fastai/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
从channel中安装包时显示channel的url,这样就可以知道包的安装来源
conda config --set show_channel_urls yes
验证一下配置是否成功
conda config --show channels
2.2 设置进行conda环境的alias
在~/.bashrc
文件中最后面添加下面代码
alias condaenv="export PATH="/home/nvidia/anaconda3/bin:$PATH";source /home/nvidia/anaconda3/bin/activate"
此代码添加了Anaconda3的bin/
目录作为环境变量,并且activate
了conda的虚拟环境。
2.3 设置conda的tab命令补全
根据上一步设置的alias
,进入conda 的虚拟环境
condaenv
然后手动安装bash下的conda命令补全工具
conda install -c conda-forge conda-bash-completion
此时完成conda的所有配置。
三、创建支持CUDA的torch虚拟环境
由于AGX ORIN的L4T版本号只支持特定的torch版本进行CUDA加速,因此无法使用pip
命令安装torch
。
Jetson平台的PyTorch安装包不是通过PyTorch官网下载的,而是由NVIDIA的PyTorch for Jetson网站提供的,Jetson的L4T版本与PyTorch版本有对应要求,根据Jetson平台的系统版本不同,提供不同的安装包。
根据下图可知JetPack5.1.2(L4T R35.4)
版本对应的PyTorch版本为v2.1.0
。
3.2 安装PyTorch依赖
sudo apt-get install libopenblas-dev
3.3 安装PyTorch
创建conda虚拟环境,python的版本必须和AGX ORIN系统的python版本(3.8.10
)保持一致。
condaenv
conda create --name py38 python=3.8.10
pip命令安装torch
pip install torch-2.1.0a0+41361538.nv23.06-cp38-cp38-linux_aarch64.whl
3.4 测试PyTorch
安装完成后,查看是否支持CUDA及CUDA的版本。
python
import torch
print(torch.cuda.is_available())
print(torch.version.cuda)
print(torch.version.cuda)
实测中发现可能需要等一会才能执行,可能需要系统配置需要时间,可以尝试重启下。
若通过pip直接安装torch,可以看到是不支持CUDA加速的。
四、安装opencv
python3.8对opencv的版本也有要求,opencv版本最好与AGX ORIN保持一致,版本号为4.5.5
。
pip install opencv-python==4.5.5.62
若安装高于此版本的opencv,可能会出现cv2无法import。
安装完成后可查看opencv版本。
pip show opencv-python
五、conda和pip的简单介绍
pip install 和 conda install 都可以正常在Anaconda Prompt 中下载各种包,但是它们有一定的区别,我在这里挑几点主要区别说明一下
5.1 安装源不同
pip是Python默认的包管理器,它将PyPI(Python Package Index)作为获取包的安装源,PyPI上的软件包特别多,因此pip可以访问到的数据包的量非常庞大(但我们一般选择更改默认源)。
conda是Anaconda的默认的包管理器,它将 Anaconda数据库作为获取包的安装源。conda重点专注于科学计算和数据计算等领域它的数据库中包含了许多常用的科学计算库,但总体的软件包数量要远小于pip,因此一些小众的软件包可以使用pip进行安装。
5.2 支持语言不同
pip作为python官方的默认软件包管理器,只能安装python包;
conda是一个跨平台(Window、Linux、MAC)的通用的软件包和环境管理器,除了能够安装Python包之外还能够安装C、C++、Go等多种语言的软件包。
5.3 软件包的依赖不同
pip 在安装软件包时对当前环境内其他的软件包依赖的检查方式复杂且不一致,因此可能会导致包与包之间发生冲突;
conda 在安装软件包时使用更为复杂的检查方式,解决软件包的冲突问题,保证安装的所有软件包都能够兼容。
5.4 环境管理方式不同
pip 没有内置的环境隔离,只能借助虚拟环境venv等其他工具来实现环境隔离;
conda 提供了环境管理的功能,允许用户创建、导出、导入和共享独立的软件环境。可以很方便的在不同的项目之间切换环境,每个环境都可以具有不同的软件包和版本。
5.5 安装位置不同
pip 安装的库 如果使用系统的的python,则库会被保存在
~/.local/lib/python3.x/site-packages
文件夹中;如果使用的是conda内置的python,则会被保存到anaconda3/envs/current_env/lib/site-packages
中;conda 安装的库都会放在anaconda3/pkgs目录下。这样的好处就是,当在某个环境下已经下载好了某个库,再在另一个环境中还需要这个库时,就可以直接从pkgs目录下将该库复制至新环境而不用重复下载。
参考:
添加conda补全命令:https://zhuanlan.zhihu.com/p/524128377
注释掉conda在bashrc中的设置:https://www.cnblogs.com/hgl0417/p/11562580.html
conda和pip的简单介绍:https://blog.csdn.net/qq_40818172/article/details/134832382