ROS安装 与 Opencv冲突

本文介绍了在安装ROS Kinetic后遇到的Python 3无法使用OpenCV的问题,详细解析了冲突原因及解决方法。首先,ROS安装可能导致Python 3的OpenCV库损坏,通过修改bashrc文件可以恢复。其次,当OpenCV与ROS的依赖库版本冲突时,先安装OpenCV再安装ROS可避免问题,但可能导致某些ROS包无法安装。文章提供了冲突解决步骤及卸载ROS的指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ROS安装官网手册:http://wiki.ros.org/kinetic/Installation/Ubuntu

根据自己需求安装,一般安装ros-kinetic-desktop版本即可,后面需要的什么包可以再单独安装。

 

安装方法

sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential一般用不到,先不安装。

检测是否成功安装

下面运行一个鼠标控制海龟移动的demo来验证ROS是否成功安装好了。

第一步,打开一个终端测试roscore是否能正常启动,使用ROS必须保证roscore运行:

roscore

第二步,新开启一个终端,执行以下命令:

rosrun turtlesim turtlesim_node

第三步,再开启一个终端,执行以下命令:

rosrun turtlesim turtle_teleop_key

 

安装ros后,python 2可以使用opencv,python 3不能使用opencv?

python3
import cv2

提示报错:

ImportError: /opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so: undefined symbol: PyCObject_Type

这是因为ros安装后在bashrc中添加了source /opt/ros/kinetic/setup.bash, termial里查看echo $PYTHONPATH发现变为/opt/ros/kinetic/lib/python2.7/dist-packages,

解决方法:

cd ~
gedit .bashrc

在bashrc最后添加:

export PYTHONPATH=/usr/local/lib/python3.5/dist-packages

随后,在新的termial使用echo $PYTHONPATH发现已经变为/usr/local/lib/python3.5/dist-packages,使用python3发现可以import cv2,

或者也可以在不使用ros时注释掉:

source /opt/ros/kinetic/setup.bash

 

 

 

 

安装失败,dependency错误,可能是已安装的软件冲突导致的。

源使用:http://cn.archive.ubuntu.com/ubuntu xenial/universe amd64

 

先安装opencv,再安装ros可以正常安装:

sudo apt-get install ros-kinetic-desktop
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following package was automatically installed and is no longer required:
  snapd-login-service
Use 'sudo apt autoremove' to remove it.
The following additional packages will be installed:
  binfmt-support blt bzip2-doc comerr-dev curl docutils-common docutils-doc
  fonts-lyx google-mock graphviz hddtemp krb5-multidev libapr1 libapr1-dev
  libaprutil1 libaprutil1-dev libarmadillo6 libarpack2 libassimp-dev
  libassimp3v5 libbz2-dev libcdt5 libcgraph6 libcollada-dom2.4-dp-dev
  libcollada-dom2.4-dp0 libconsole-bridge-dev libconsole-bridge0.2v5
  libcurl4-openssl-dev libdap-dev libdap17v5 libdapclient6v5 libdapserver7v5
  libepsilon1 libfreeimage3 libfreexl1 libgdal-dev libgdal1i libgeos-3.5.0
  libgeos-c1v5 libgeos-dev libgif-dev libgif7 libgl2ps-dev libgl2ps0
  libglade2-0 libgssrpc4 libgtest-dev libgvc6 libgvpr2 libhdf4-0-alt
  libhdf4-alt-dev libhdf5-mpi-dev libhdf5-openmpi-10 libhdf5-openmpi-dev
  libinput-dev libjs-jquery-ui libjs-sphinxdoc libjs-underscore libjsoncpp-dev
  libjxr0 libkadm5clnt-mit9 libkadm5srv-mit9 libkdb5-8 libkmlbase1 libkmldom1
  libkmlengine1 libldap2-dev liblog4cxx-dev liblog4cxx10-dev liblog4cxx10v5
  liblz4-dev libminizip1 libmysqlclient-dev libmysqlclient20 libnetcdf-c++4
  libnetcdf-cxx-legacy-dev libnetcdf-dev libnetcdf11 libodbc1 libogdi3.2
  libogre-1.9-dev libogre-1.9.0v5 libopenjp2-7 libpathplan4 libpoco-dev
  libpococrypto9v5 libpocodata9v5 libpocofoundation9v5 libpocomysql9v5
  libpoconet9v5 libpoconetssl9v5 libpocoodbc9v5 libpocosqlite9v5
  libpocoutil9v5 libpocoxml9v5 libpocozip9v5 libpq-dev libpq5 libproj9
  libpyside-py3-2.0 libpyside2-dev libpyside2.0 libqgsttools-p1 libqhull-dev
  libqhull7 libqt5clucene5 libqt5designer5 libqt5designercomponents5
  libqt5help5 libqt5multimediaquick-p5 libqt5multimediawidgets5
  libqt5quickparticles5 libqt5script5 libqt5scripttools5 libqt5svg5-dev
  libqt5webkit5-dev libqt5x11extras5 libqt5x11extras5-dev libqt5xmlpatterns5
  libqt5xmlpatterns5-dev libqt5xmlpatterns5-private-dev libsctp-dev libsctp1
  libshiboken-py3-2.0 libshiboken2-dev libshiboken2.0 libspatialite-dev
  libspatialite7 libsqlite3-dev libssl-dev libssl-doc libsuperlu4
  libtinyxml-dev libtinyxml2-2v5 libtinyxml2-dev libudev-dev liburdfdom-dev
  liburdfdom-headers-dev liburdfdom-model-state0.4 liburdfdom-model0.4
  liburdfdom-sensor0.4 liburdfdom-tools liburdfdom-world0.4 liburiparser1
  libvtk6-dev libvtk6-java libvtk6-qt-dev libvtk6.2 libvtk6.2-qt libwebp-dev
  libwxbase3.0-0v5 libwxgtk3.0-0v5 libxerces-c-dev libxerces-c3.1 libxss-dev
  libyaml-cpp-dev libyaml-cpp0.5v5 libzzip-0-13 mysql-common odbcinst
  odbcinst1debian2 proj-bin proj-data pyqt5-dev python-attr python-autobahn
  python-cairo python-catkin-pkg python-catkin-pkg-modules python-cffi-backend
  python-chardet python-concurrent.futures python-crypto python-cryptography
  python-cycler python-dateutil python-defusedxml python-docutils python-ecdsa
  python-empy python-enum34 python-glade2 python-gobject-2 python-gtk2
  python-idna python-imaging python-ipaddress python-lz4 python-matplotlib
  python-matplotlib-data python-mpi4py python-msgpack python-netifaces
  python-nose python-numpy python-opengl python-openssl python-pam
  python-paramiko python-pil python-psutil python-pyasn1 python-pyasn1-modules
  python-pydot python-pygments python-pyparsing python-pyqt5
  python-pyqt5.qtopengl python-pyqt5.qtsvg python-pyqt5.qtwebkit
  python-pyside2 python-pyside2.qtconcurrent python-pyside2.qtcore
  python-pyside2.qtgui python-pyside2.qthelp python-pyside2.qtnetwork
  python-pyside2.qtprintsupport python-pyside2.qtqml python-pyside2.qtquick
  python-pyside2.qtquickwidgets python-pyside2.qtscript python-pyside2.qtsql
  python-pyside2.qtsvg python-pyside2.qttest python-pyside2.qtuitools
  python-pyside2.qtwebkit python-pyside2.qtwebkitwidgets
  python-pyside2.qtwidgets python-pyside2.qtx11extras python-pyside2.qtxml
  python-roman python-rosdep python-rosdistro python-rosdistro-modules
  python-rospkg python-rospkg-modules python-serial python-service-identity
  python-sip python-sip-dev python-six python-snappy python-tk python-trollius
  python-twisted python-twisted-bin python-twisted-core python-txaio python-tz
  python-vtk6 python-wxgtk3.0 python-wxtools python-wxversion python-yaml
  python-zope.interface qtbase5-private-dev qtdeclarative5-dev
  qtdeclarative5-private-dev qtmultimedia5-dev qtscript5-dev
  qtscript5-private-dev qttools5-dev qttools5-dev-tools qttools5-private-dev
  ros-kinetic-actionlib ros-kinetic-actionlib-msgs
  ros-kinetic-actionlib-tutorials ros-kinetic-angles ros-kinetic-bond
  ros-kinetic-bond-core ros-kinetic-bondcpp ros-kinetic-bondpy
  ros-kinetic-catkin ros-kinetic-class-loader ros-kinetic-cmake-modules
  ros-kinetic-collada-parser ros-kinetic-collada-urdf ros-kinetic-common-msgs
  ros-kinetic-common-tutorials ros-kinetic-control-msgs ros-kinetic-cpp-common
  ros-kinetic-cv-bridge ros-kinetic-diagnostic-aggregator
  ros-kinetic-diagnostic-analysis ros-kinetic-diagnostic-common-diagnostics
  ros-kinetic-diagnostic-msgs ros-kinetic-diagnostic-updater
  ros-kinetic-diagnostics ros-kinetic-dynamic-reconfigure
  ros-kinetic-eigen-conversions ros-kinetic-eigen-stl-containers
  ros-kinetic-executive-smach ros-kinetic-filters ros-kinetic-gencpp
  ros-kinetic-geneus ros-kinetic-genlisp ros-kinetic-genmsg
  ros-kinetic-gennodejs ros-kinetic-genpy ros-kinetic-geometric-shapes
  ros-kinetic-geometry ros-kinetic-geometry-msgs
  ros-kinetic-geometry-tutorials ros-kinetic-gl-dependency
  ros-kinetic-image-transport ros-kinetic-interactive-marker-tutorials
  ros-kinetic-interactive-markers ros-kinetic-joint-state-publisher
  ros-kinetic-kdl-conversions ros-kinetic-kdl-parser
  ros-kinetic-laser-geometry ros-kinetic-librviz-tutorial ros-kinetic-map-msgs
  ros-kinetic-media-export ros-kinetic-message-filters
  ros-kinetic-message-generation ros-kinetic-message-runtime ros-kinetic-mk
  ros-kinetic-nav-msgs ros-kinetic-nodelet ros-kinetic-nodelet-core
  ros-kinetic-nodelet-topic-tools ros-kinetic-nodelet-tutorial-math
  ros-kinetic-octomap ros-kinetic-opencv3 ros-kinetic-orocos-kdl
  ros-kinetic-pluginlib ros-kinetic-pluginlib-tutorials
  ros-kinetic-python-orocos-kdl ros-kinetic-python-qt-binding
  ros-kineti
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yuyuelongfly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值