Environment

  • Ubuntu 16.04

  • Python 3.5.2

  • Ros Distribution-Kinetic

根据安装说明安装了Ros( sudo apt-get install ros-kinetic-full-desktop )并且为了使 Python3 成为默认版本,我按照安装python3版本的rospkg和catkin( sudo pip3 install rospkg catkin_pkg )的必要和充分步骤进行了操作 . 之后我能够在python2中导入cv2但不能在python3中导入,如下所示

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

为了解决这个问题,我用( pip3 install opencv-python )安装了opencv3,然后按照提到的强制符号链接here但是后来我无法使用cv bridge并得到以下错误

from cv_bridge.boost.cv_bridge_boost import getCvType

ImportError: dynamic module does not define module export function (PyInit_cv_bridge_boost)

那么安装ROS的正确方法是什么,python版本是python3并且能够导入opencv和相应的依赖项?