ubuntu18.04+ROS-melodic配置支持python3的cv_bridge

2024.07.18更新----------------conda和pip安装的包冲突会使得编译的cv_bridge失效!!!

电脑1:作者conda新建虚拟环境后,打开pycharm导入虚拟环境,pip install需要的pkg,ignore pycharm顶部提示的缺少包安装,cv_bridge不会出问题。

电脑2:作者conda新建虚拟环境后,打开pycharm导入虚拟环境,安装pycharm顶部提示的缺少包,运行py文件时pip install 缺少的包,但cv_bridge的运行会出现问题。(可以点击进入cv_bridge的init文件,把try注释掉,再运行会把错报出来)

解决:conda只用于新建虚拟环境,后续包一律用pip安装!!!

这个问题耗费了好几天,最后才找到是conda和pip对文件索引的原因,没想到还会出这种错误,供参考。

附:记录一个代码中的小问题:python的 global全局变量 不要跟前面的名字一样,如下,这样会导致代码运行一段时间后出错。

原文-------------------------------------------------------------------------------------------------------------------

本文参考:Ubuntu18.04配置python2和python3的ROS,并支持深度学习_ubuntu18.04中ros支持的python版本-CSDN博客

《Ubuntu18.04配置python2和python3的ROS,并支持深度学习》

但在实际配置时,存在一些不一样,记录一下,供参考。

目录

系统版本

1. minicinda配置虚拟环境

2. 编译cv_bridge

3. 问题所在!!!


系统版本

Ubuntu 18.04 ;ROS-melodic ;Miniconda

1. minicinda配置虚拟环境

1.1 创建并激活虚拟环境python3.6

        主目录打开终端

conda create -n ros_pytorch python=3.6

conda activate ros_pytorch

1.2  安装torch torchvision opencv

        torch库中下载 torch-1.10.2+cpu-cp36-cp36m-linux_x86_64.whl 和 torchvision-0.11.3+cpu-cp36-cp36m-linux_x86_64.whl     放在主目录 (也可以pip命令安装)

        继续在1.1的终端输入       

pip install torchvision-0.11.3+cpu-cp36-cp36m-linux_x86_64.whl torch-1.10.2+cpu-cp36-cp36m-linux_x86_64.whl

        继续输入,安装opencv

pip install opencv-python==4.5.4.60

        在conda环境下安装ROS相关包 

pip install numpy pyyaml rosdep catkin_pkg rospkg rosinstall

2. 编译cv_bridge

2.1 创建一个新的工作空间并初始化

mkdir -p catkin_ws_c/src && cd catkin_ws_c/src

catkin_init_workspace

如下,参考大佬的

2.2 拉取vision_opencv包

git clone https://gitee.com/irvingao/vision_opencv.git

 2.3 查看conda/envs/下的python3.6m和python3.6路径

whereis python

2.4 配置编译

在终端连续输入以下三个命令,注意路径修改!sia-zph是我的主机名。

返回catkin_ws_C目录下

cd ..

export CPLUS_INCLUDE_PATH=/home/sia-zph/miniconda3/envs/ros_pytorch/bin/python3.6m

catkin_make install -DCMAKE_BUILD_TYPE=Release -DSETUPTOOLS_DEB_LAYOUT=OFF -DPYTHON_EXECUTABLE=/home/sia-zph/miniconda3/envs/ros_pytorch/bin/python

 我的终端运行就不截图了,参考大佬的。

3. 问题所在!!!

3.1 激活环境输入以下,最后一个命令会报错。与大佬的不一致。

python
import cv_bridge
from cv_bridge.boost.cv_bridge_boost import getCvType

3.2 解决

在激活环境的终端继续输入以下命令,以便用工作空间将配置文件写到.bashrc中

sudo gedit ~/.bashrc

 把下面这个命令放在bashrc的最后。注意:更改主机名!!!

source /home/sia-zph/catkin_ws_c/install/setup.bash --extend

继续终端运行下source

source ~/.bashrc

 再输入3.1的命令查看,不报错了,cv_bridge可以正常使用。

  • 23
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值