Open shadfien opened 2 years ago
source的时候也有很多门道,因为cv_bridge和roslaunch是在两个文件夹下,所以先source install cv_bridge,后source devel/setup.bash ,要加上 --extend 所以在我这边操作如下,参考之:
##catkin_workspace 为cv_bridge的文件夹
cd catkin_workspace
source install/setup.bash
cd ..
##catkin_ws 为ros yolov5的文件夹
cd catkin_ws
source devel/setup.basg --extend
开发环境:ubuntu18.04+python3.6.9(自带)+anaconda+ros melodic+yolov5 运行roslaunch报错如下:
参考文档,说一下我这边遇到的坑: 1.anaconda安装之后,无论是否在虚拟环境(conda)下,运行python3都是指向的anaconda的python环境,如下:
我参考了一下各个文档,发现都说是不要在anaconda虚拟环境下执行cv_bridge的安装等等操作 https://blog.csdn.net/qq_33591712/article/details/84788231 解决方案: 在~/.bashrc文件最后新增命令行:
alias python3="/usr/bin/python3"
相当于将python3重新指向原系统自带的python3下,这样我的python由3.8/3.7变成了3.6,就跟后面文档里cv_bridge需要设置python3.6版本就对上了。2.按照操作说明都实现了, from cv_bridge.boost.cv_bridge_boost import getCvType也能在python下不报错了,但是运行roslaunch还是指向了python2.7,该问题就是开篇提到的报错内容。 解决方案: 修改你roslaunch中运行的python文件,在
from cv_bridge import CvBridge, CvBridgeError
这句话前面新增如下内容:,然后重新source一下,应该就ok了。
参考文档: https://blog.csdn.net/weixin_42675603/article/details/107785376 https://blog.csdn.net/qq_40932565/article/details/112427529