错误如下:
Traceback (most recent call last):
File “./run.py”, line 9, in
import cv2
ImportError: /opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so: undefined symbol: PyCObject_Type
分析原因:
这个问题就是importError: /opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so,为什么会出现这个问题?因为当初安装cv2的时候,默认弄在了Python2,所以导致这个错误的产生.
方法1:
代码前面修改为:
import sys
ros_path = '/opt/ros/kinetic/lib/python2.7/dist-packages'
if ros_path in sys.path:
sys.path.remove(ros_path)
import cv2
sys.path.append('/opt/ros/kinetic/lib/python2.7/dist-packages')
方法2:
给cv2.so改个名字
cd /opt/ros/kinetic/lib/python2.7/dist-packages/
sudo mv cv2.so cv2_ros.so
方法3:(这样就不能用ros了)
gedit ~/.bashrc(gedit后面有空格)
用 # 注释掉:(有关ROS的)
#source /opt/ros/kinetic/setup.bash