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增强现实
无法使用 python 3.5 安装 opencv 3.1,仅适用于 2.7