python3装完ros后导入opencv模块报错

错误如下:
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
发布了87 篇原创文章 · 获赞 149 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/weixin_43795921/article/details/103355912
今日推荐