1. 程式人生 > 其它 >安裝了ros後Python3 呼叫import cv2報錯解決辦法:

安裝了ros後Python3 呼叫import cv2報錯解決辦法:

技術標籤:opencvROS

Enjoy lab and life

分類專欄: opencv ros

錯誤如下:
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

方法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')

(TypeError: remove() takes exactly one argument (0 given))
意思是,()裡要一個引數,但是給出0個

方法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
開啟一個新的終端,執行之前的方法即可

方法4:

gedit ~/.bashrc(gedit後面有空格)

好像在後面加一行Python路徑之類的東西是可以的,但是我沒成功,就不細說了。