1.python3环境下import cv2报错如下:
ImportError: /opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so: undefined symbol: PyCObject_Type
2.解决方法:
sudo pip3 --default-timeout=2000 install -U opencv-python
sudo pip3 uninstall numpy (因为安装opencv-python时,会安装最新版本的numpy,最新版本的numpy,因版本太高,会造成pytorch、tensorflow等import时报错。需要把版本降级。也可以自己单独下载opencv-python安装)
sudo pip3 --default-timeout=2000 install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy==1.15.0
说明:Python2环境下安装opencv可以直接在Python环境中导入cv2包不同,python3必须对cv2.cpython-36m-x86_64-linux-gnu.so文件进行修改才可以。
-
sudo find / -name cv2.cpython-36m-x86_64-linux-gnu.so (我电脑里的存放路径是: /usr/local/lib/python3.6/dist-packages/cv2)
-
将cv2.cpython-36m-x86_64-linux-gnu.so文件拷贝到: /usr/local/lib/python3.6/dist-packages/ 目录下
cd /usr/local/lib/python3.6/dist-packages/cv2
sudo cp