jetson AGX Xavier配置python环境
Nvidia Jetson AGX Xavier安装ROS、Anaconda、PyTorch及其它依赖库
nvidia_xavier_utils
jeston agx xavier,ubuntu18.04.
『Nvidia Jetson AGX Xavier笔记』Xavier(arrch64架构)安装anaconda!
NVIDIA Jetson Xavier 使用的aarch64架构是没法使用anaconda的,虽然可以自己编译,但是conda指令是没法编译到aarch64架构上运行的。不过有替代品,名字是miniforge。
miniforge与miniconda的区别在于miniforge的下载通道是conda-forge
进入miniforge的github地址,下载最新的Linux aarch64 (arm64) 版本
在Miniforge-pypy3-Linux-aarch64.sh所在文件夹打开终端
bash Miniforge-pypy3-Linux-aarch64.sh
一路 yes 即可。打开新的终端即可生效。
使用方法与 anaconda 相同。参见给远程服务器安装Anaconda,然后用conda创建新环境。
另外,可以将auto_activate_base参数设置为false,取消每次启动时自动激活conda的base环境。
conda config --set auto_activate_base false
Anaconda 镜像使用帮助
# 这里使用清华镜像源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
执行完以上命令会在当前用户目录下生成一个.condarc文件,运行cat ~/.condarc
命令查看文件内容(个人建议把- defaults删除掉):
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
- defaults
show_channel_urls: true
conda create -n grasp python=3.6
进入grasp虚拟环境的指令为conda activate grasp
,比较麻烦。进行简单设计可快速启动虚拟环境。
gedit ~/.bashrc
,打开.bashrc文件,用#号注释掉如下内容(其实不注释掉也行!!!):
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/ur/miniforge3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/home/ur/miniforge3/etc/profile.d/conda.sh" ]; then
. "/home/ur/miniforge3/etc/profile.d/conda.sh"
else
export PATH="/home/ur/miniforge3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
然后添加如下语句,保存。此时在终端输入 grasp
,即可直接进入grasp虚拟环境了。
alias grasp='. "/home/ur/miniforge3/etc/profile.d/conda.sh" && conda activate grasp'
ros noetic 版支持 python3。但官方支持的安装系统为 ubuntu 20.04 。而 jetson agx xavier 标配系统为ubuntu18.04,担心ubuntu系统升级后出现不可预料的 bug,因此只能在melodic 版本上折腾。
参考:UsingPython3
在 python3 环境中使用 cv_bridge会报错
ImportError: dynamic module does not define module export function (PyInit_cv_bridge_boost)
这是因为ros 自带的 cv_bridge只支持 python2。想要使用Python3需要自行编译cv_bridge包。
参考:Compiling ROS cv_bridge with Python 3
How to setup ROS with Python 3
环境:Ubuntu 18.04+ROS Melodic+anaconda 虚拟环境+python3.6
1.首先 conda deactivate
回到基础环境。然后安装一些用于编译的工具。
sudo apt-get install python-catkin-tools python3-dev python3-catkin-pkg-modules python3-numpy python3-yaml ros-melodic-cv-bridge
sudo pip3 install rospkg catkin_pkg
2.创建一个工作空间用于存放待编译的 cv_bridge 文件。
mkdir -p ~/cvbridge_build_ws/src
cd ~/cvbridge_build_ws/src
然后将 vision_opencv 拷贝到~/cvbridge_build_ws/src
git clone -b melodic https://github.com/ros-perception/vision_opencv.git
3.设置cmake变量。为防止 catkin_make 出现问题,请用 python3 (python3.6)编译功能包.
catkin config -DPYTHON_EXECUTABLE=/usr/bin/python3 -DPYTHON_INCLUDE_DIR=/usr/include/python3.6m -DPYTHON_LIBRARY=/usr/lib/aarch64-linux-gnu/libpython3.6m.so
注:aarch64-linux-gnu为 arm 架构,普通计算机为x86_64-linux-gnu。
指示catkin将内置包安装到安装位置,这一步不成功也没关系,可不用。(如果不用,需将第5步的install 改为 devel)
catkin config --install
4.编译功能包
cd ~/cvbridge_build_ws
catkin build cv_bridge
5.只需每次在终端进入python3虚拟环境时执行如下命令,就可以正常使用cv_bridge了。
source ~/cvbridge_build_ws/install/setup.bash --extend
# extend参数的作用是让这次的路径配置不影响之前配置好的路径。
参考:How to setup ROS with Python 3
nvidia有官方编译的tensorflow包的安装方法。
Python 3.6+JetPack4.2
sudo pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v42 tensorflow-gpu
v42是JetPack 的版本,表示JetPack4.2。
如该网速不好可以先下载下来,然后pip3 install path/to/package
本地安装。
Nvidia Jetson AGX Xavier安装ROS、Anaconda、PyTorch及其它依赖库
根据自己的JetPack版本和Python版本(JetPack4.4中CUDA版本为10.2,JetPack4.2/4.3中CUDA版本为10.0),从Nvidia官网选择所需要的PyTorch进行下载。
jetPack 4.2 + python 3.6 + pytorch 1.4
sudo apt-get install python3-pip libopenblas-base libopenmpi-dev
pip3 install Cython
pip3 install numpy torch-1.4.0-cp36-cp36m-linux_aarch64.whl
选择与 pytorch 版本对应的 torchvision。PyTorch v1.4 对应 torchvision v0.5.0。
sudo apt-get install libjpeg-dev zlib1g-dev
git clone --branch v0.5.0 https://github.com/pytorch/vision torchvision # v0.3.0 为所需要的版本号
cd torchvision
export BUILD_VERSION=0.5.0
sudo python setup.py install
cd ../ # attempting to load torchvision from build dir will result in import error
# pip install 'pillow<7' # always needed for Python 2.7, not needed torchvision v0.5.0+ with Python 3.6
jetson-packages-family整理了包括Matplotlib、Pycuda、Pillow、Pandas在内的多个常用依赖库在Xavier平台下的安装方法,甚至还有VSCode、Pycharm、Docker、Qt5等工具的安装方式.
cd ~
sudo apt-get update
sudo apt-get install -y openjdk-8-jdk
wget https://download.jetbrains.com/python/pycharm-professional-2019.3.4.tar.gz?_ga=2.42966822.2056165753.1586158936-1955479096.1586158936 -O pycharm-professional-2019.3.4.tar.gz
tar -xzf pycharm-professional-2019.3.4.tar.gz
cd pycharm-2019.3.4/bin
sudo chmod +x pycharm.sh
mv pycharm.sh pycharm # 改名字
# sudo rm -rf pycharm-professional-2019.3.4.tar.gz # 删除安装包
cd ~
echo 'export PATH=/home/'$USER'/pycharm-2019.3.4/bin:$PATH' >> .bashrc
新终端输入 pycharm
即可启动。
pycharm 链接