安裝了ros後Python3 呼叫import cv2報錯解決辦法:
阿新 • • 發佈:2021-01-18
錯誤如下:
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後面有空格)