nvidia jetson 在 conda虚拟环境编译cv_bridge melodic python3

        用conda虚拟环境编译cv_bridge。

        这是我编译的功能包,删除build和devel文件夹重新编译即可melodicpython3-Ubuntu文档类资源-CSDN下载

一、内置环境

1、设备:nvidia jetson gax xavier

2、jetpack 4.6.1(ubuntu18.04)

3、archiconda python 3.6

4、ros-melodic

5、opencv 4

二、编译

1、创建虚拟环境及依赖安装

conda create -n pytorch python=3.6
conda activate pytorch
pip3 install rosdep rosinstall catkin_pkg rospkg numpy pyyaml opencv-python 

2、初始化虚拟环境

如果使用conda创建的python3环境运行代码,那么需要将终端默认启动的环境改为你ros编译的环境。

gedit ~/.bashrc 

conda activate pytorch  #写入

3、初始化工作空间并获取vision_opencv源码

mkdir -p cv_bridge_ws/src && cd cv_bridge_ws/src
catkin_init_workspace
git clone https://github.com/ros-perception/vision_opencv.git

4、编译

        这里的python解释器选择conda的python路径,如果不知道可以用whereis python查询一下:

我的python解析器路径为:/home/nvidia/archiconda3/bin/python

将下面路径改为你的环境路径。

cd ../
export CPLUS_INCLUDE_PATH=/home/nvidia/archiconda3/envs/pytorch/include/python3.7m
catkin_make install -DCMAKE_BUILD_TYPE=Release -DSETUPTOOLS_DEB_LAYOUT=OFF -DPYTHON_EXECUTABLE=/home/nvidia/archiconda3/envs/pytorch/bin/python 

5、报错解决

此处会报错,如下

......


Illegal instruction(core dumped)

 解决方法

 gedit ~/.bashrc


export OPENBLAS_CORETYPE=ARMV8  #写入最后面

 6、将文件加入环境变量

将编译生成的文件加入环境变量,使我们在使用python3时可以,默认调用。将其添加至.bashrc文件的最后一行。

gedit ~/.bashrc


source /home/nvidia/cv_bridge_ws/install/setup.bash --extend

7、测试

虚拟环境终端输入python3

import cv_bridge
from cv_bridge.boost.cv_bridge_boost import getCvType

没有报错即成功编译。

你可能感兴趣的:(ros,自动驾驶,xavier,自动驾驶,conda,python)