python安装opencv模块踩过的坑

采用 pip 安装opencv-python

Pip install --upgrade opencv-python

然后 在python 中 import cv2

提示模块加载错误

the specified module could not be found

python安装opencv模块踩过的坑_第1张图片

未加载的模块,用depends 查看是缺少了api-ms-win-downlevel-shlwapi-l1-1-0.dll模块

python安装opencv模块踩过的坑_第2张图片

其实 pyd文件实际就是dll文件。

然后下载了api-ms-win-downlevel-shlwapi-l1-1-0.dll 模块放到对应的.pyd下。

接着提示如下图错误

Traceback (most recent call last):

  File "", line 1, in

  File "Installpath\Python37\lib\site-p

ackages\cv2\__init__.py", line 3, in

    from .cv2 import *

ImportError: DLL load failed: %1 is not a valid Win32 application.

python安装opencv模块踩过的坑_第3张图片

网上找了一堆说是安装的扩展模块和python的版本不匹配问题(32位和64位),我看了非常无解,因为我确定的opencv-python和python都是64的。

这种蛋疼了,一时间找不到解决方法,我有把opencv-pyhton卸载,重新搞个32位的也不行。

最后怀疑是不是api-ms-win-downlevel-shlwapi-l1-1-0.dll的问题,果然,我下载的这个dll有两个版本,之前vs15编译opencv时候用了SysWow64可以连接成功。这次也用了这个版本,没想到python要用system32里面的版本。换了api-ms-win-downlevel-shlwapi-l1-1-0.dll后可以import cv2成功。

python安装opencv模块踩过的坑_第4张图片

你可能感兴趣的:(python)