Python 3.5、OpenCV 3.2、Windows 7 64 位、Anaconda 3、“ImportError:DLL 加载失败”

Posted

技术标签:

【中文标题】Python 3.5、OpenCV 3.2、Windows 7 64 位、Anaconda 3、“ImportError:DLL 加载失败”【英文标题】:Python 3.5, OpenCV 3.2, Windows 7 64-bits, Anaconda 3, "ImportError: DLL load failed" 【发布时间】:2017-06-10 12:01:48 【问题描述】:

关于这个话题已经有很多问题了,但我没有找到关于“找不到 DLL”这个传统问题的任何令人满意的答案。

我正在使用通过 Anaconda 3 安装的 Python 3.5; 我已经使用 pip 安装了“官方”opencv_python-3.2.0.6-cp34-cp34m-win_amd64.whl(就在此处https://pypi.python.org/pypi/opencv-python); Windows 版本为 7 - 64 位; 我已经卸载了我机器上的所有可再发行 VC++,并重新安装了它的 2015 版本 - 所以我的笔记本电脑上存在着名的和强制的 DLL msvcp140.dll; cv2 模块位于 Lib/site-packages 目录中; 其中包含文件“cv2.cp35-win_amd64.pyd”等。

同时,我仍然无法访问 cv2:

>>> import cv2
Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    import cv2
  File "C:\Program Files\Anaconda3\lib\site-packages\cv2\__init__.py", line 7, in <module>
    from . import cv2
ImportError: DLL load failed: The specified module could not be found.

修改 .pyd 的名字 --> cv2.pyd 并不能解决问题,通过 pip 安装来自 Gohlke 的非官方但很棒的***版本 (http://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv)

知道发生了什么吗?

【问题讨论】:

好的,我可以道歉吗?终于看来重新安装Gohlke版本可以了!我不知道之前发生了什么。因此,我希望我最初的问题能够在阅读此最终评论时对其他人有所帮助...感谢您的观看和阅读。 【参考方案1】:

正如我一开始没有注意到的评论中提到的,您可以通过从非官方站点 (Gohlke) 安装来解决此问题 (http://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv)

我通过调用卸载了官方:

pip uninstall opencv-python

然后从提到的站点下载 .whl 包(您需要仔细选择正确的 python 版本和正确的处理器架构 x86 或 x64)。

然后,到.whl文件下载的路径,调用:

pip install opencv_python-x.x.x-cpxx-cpxxm-win_xx.whl

【讨论】:

【参考方案2】:

关于问题中的评论,请始终在安装另一个之前删除任何现有的 opencv 软件包,因为 unofficial 和 official 中的 opencv 站点将被 pip 视为 2 个软件包。

如果您按照我的回答here,您可以安装官方opencv。由于Anaconda 的问题,您会收到该错误。

但是,如果您安装 official opencv,它将自动完成并在您的 python IDE 中提供建议(请参阅 this)。所以,如果你也需要自动完成,你需要使用非官方的 opencv。

【讨论】:

【参考方案3】:

我有同样的问题。这对我有帮助:

conda install -c menpo opencv3

发现于https://www.scivision.co/install-opencv-python-windows/

【讨论】:

以上是关于Python 3.5、OpenCV 3.2、Windows 7 64 位、Anaconda 3、“ImportError:DLL 加载失败”的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV-Python实战(12)——一文详解AR增强现实

OpenCV 3.1.0 和 Python 3.5

OpenCV图像处理应用(面向Python)之形态学操作

无法使用 python 3.5 安装 opencv 3.1,仅适用于 2.7

python 在Python 3.5上的Mac OS Sierra上安装OpenCV

ubuntu 16.04 安装 opencv +contrib (3.2.0) + python 3.5