python import失败_如何解决import cv2失败

昨晚在我的Win7系统上安装python版的opencv,失败了很多次,系统提示,在执行from .cv2 import *的时候,DLL load failed,找不到指定的模块。

我跟很多同学一样,希望pip install opencv-python之后,就可以import cv2成功。但是,事实证明在Windows系统中,这样简单“粗暴”的做法,大部分情况是失败。在Linux下直接pip install opencv-python,然后import cv2是成功的。所以,要解决的问题是在Windows系统下import cv2失败。

我的Python版本:3.7.2

我测试了网络的很多方法,包括安装vc redistribution库,将site-packages/cv2/中的.pyd文件修改为cv2.pdy,甚至按照opencv.org官方文章上的安装说明操作,都无法成功。

最后唯一成功的方法,是采用下载.whl文件安装的方式。

下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv

这是加州大学的一些专家搞的网页,上面提供很多Python库的windows版本whl安装包。想必他们也是备受这类问题的煎熬,在Windows系统下有很多安装python库兼容方面的问题。

自己找一个opencv的whl版本,下载下来,然后pip install 你下载的文件.whl,就可以了。最后import cv2能够成功。

其实只需要在site-packages/目录下方一个.pyd文件,一个ffmpeg的.dll文件,就可以成功了。一直失败,一定是这两个文件出了点问题。

一点反思:

.pyd文件,其实就是windows下的dll文件,是python可以直接import的格式。很可能是.pyd文件的制作出了问题,才导致import cv2一直失败。可以尝试(1)自己编译opencv的pyd文件;(2)在windows平台下编译安装opencv的python库。

Linux下的opencv包,就是一个.so文件,动态链接库。

你可能感兴趣的:(python,import失败)