使用sudo pip3 install opencv-python成功安装opencv后,在python环境里却无法导入cv2,报错如下图所示:
这是因为与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.youkuaiyun.com/qq_30163461/article/details/80441522?utm_source=blogxgwz0