解决ubuntu16.04下 "import cv2" 出错的问题

使用sudo pip3 install opencv-python成功安装opencv后,在python环境里却无法导入cv2,报错如下图所示:

解决ubuntu16.04下

这是因为与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

二、然后将该文件拷贝到: /usr/local/lib/python3.6/dist-packages/ 目录下,这是因为该目录是系统自带Python的第三方库文件夹目录(手动安装的则为site-packages),存放着安装在Python3下的各种包,也是它的搜索路径。命令如下:

cd /usr/local/lib/python3.6/dist-packages/cv2

sudo cp -i cv2.cpython-36m-x86_64-linux-gnu.so /usr/local/lib/python3.6/dist-packages/

三、cv2.cpython-36m-x86_64-linux-gnu.so文件重命名为cv2.so 。命令如下:

cd /usr/local/lib/python3.6/dist-packages/

sudo mv cv2.cpython-36m-x86_64-linux-gnu.so cv2.so

四、重命名完成以后,建立sym-link,将opencv cv2.so绑定到Python 3.6的cv虚拟环境:

cd /usr/local/lib/python3.6

sudo ln -s /usr/local/lib/python3.6/cv2.so cv2.so

现在导入python,已经没问题了:

 

参考文章:

https://www.jianshu.com/p/2975af275871

https://blog.csdn.net/qq_30163461/article/details/80441522?utm_source=blogxgwz0

你可能感兴趣的:(Ubuntu,python学习)