【问题标题】:Can't import cv2; "DLL load failed"无法导入 cv2; “DLL 加载失败”
【发布时间】:2016-01-16 22:48:55
【问题描述】:

我真的不想用这个来开始我自己的问题,因为这似乎是一个常见的错误。但是,现在已经浪费了几个小时并关注了我能找到的每一个线程,没有一个给定的答案能帮我解决这个问题。

所以我唯一的选择是提供有关我的设置的所有信息,并希望你们中的一个人能够认识到问题。

我在 Windows 10(x64) 上运行并安装了集合 here 中的以下预构建二进制文件。

  1. python 3.5.0-win32(从python网站安装)
  2. numpy 1.10-cp35-win32
  3. matplotlib 1.4.3-cp35-win32
  4. opencv 3.0.0-cp35-win32

一切都是使用“pip install file_name.whl”安装的,没有错误消息。 但是不同的是 open cv 不会导入,我收到以下错误:

>>> import cv2
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 4.5.4\helpers\pydev\pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
ImportError: DLL load failed: The specified module could not be found.

cv2.cp35-win32.pyd 以及许多 .dll 文件安装到 C:\Python35\Lib\site-packages

我尝试将 cv2.cp35-win32.pyd 重命名为 cv2.pyd 并将 .dll 文件复制到 C:\Python35\DLLs

我尝试使用从该站点下载的另一个 python opencv 包,将 bin 目录添加到我的 PATH 环境并将 cv2.pyd 文件移动到 C:\Python35\Lib\网站包

每次都会出现相同的错误。任何帮助将不胜感激!

【问题讨论】:

标签: python windows opencv numpy windows-10


【解决方案1】:

在我的情况下,当使用 Pycharm 导入 cv2 时,它返回 ImportError: DLL not found。但是,使用 python 解释器导入我得到了 *ImportError: ... not a win32 DLL ... * 。因此,在这种情况下,我不得不下载 Visual C++ 2015 重新分发包并解决问题。

所以对于遇到相同错误的任何人,请确保您拥有用于编译模块的 DLL 的 VC++ 再分发包。

【讨论】:

  • 我认为这是正确的答案。重要的是,在从头开始重试之前,我必须卸载所有与 Python 相关的东西,包括路径变量中的所有内容。这次我包含了 VC++ Redistributable,它似乎工作了。
  • 我不会说这解决了发布的问题。就我而言,我在 Pycharm 和 IDLE 中都遇到了同样的错误“找不到指定的模块”
【解决方案2】:

我在 Windows 10 上遇到了 Python 3.4 和 opencv-python 3.3 的错误。在我的情况下,问题是由于我的 Anaconda 发行版造成的。我用opencv-python project page的解决方案解决了这个问题,它指向这个github issue

问题是 anaconda 发行版中缺少 python3.dll。您可以下载 python 二进制文件here 并从 zip 存档中提取 dll。将其放在 PATH 中的文件夹中(例如 C:\Users\MyName\Anaconda3),导入应该可以工作。

【讨论】:

  • +1 这对我有用,但是在下载了适当的 python3.dll 版本之后(不一定是答案中链接指向的 3.5.2 版本)。 例如检查python -Vconda info以找出python版本,然后在此列表中找到适当的版本:python.org/downloads)。谢谢!
【解决方案3】:

这对我有用:

pip install opencv-contrib-python

(运行 Python 3.6.3 - 32 位,在 Windows 7 - 64 位上)

【讨论】:

  • 如果有人想知道,opencv-python 包含主要模块,而 opencv-contrib-python 包含主要模块和其他 contrib 模块,请参阅pypi.org/project/opencv-python(不要尝试安装这两个! )
  • 这在运行 python 3.6.3 64 位的 Windows 10 上对我有用
【解决方案4】:

在我的情况下(对于 Windows 操作系统),问题由

解决

将 opencv DLL 路径添加到 PATH 环境变量。

您可以按照this 指南了解如何将路径添加到环境变量

【讨论】:

  • 我使用这个解决方案解决了这个问题。就我而言,我使用 Visual Studio 编译了 OpenCV 库。谢谢
  • 你能显示你如何添加路径
【解决方案5】:

好的,所以我通过完全卸载所有内容并从 Python 2.7.10 开始,让它工作。

它根本不适用于 Python 3。为了清楚我做了什么,我按照我发布它们的顺序关注了这两个视频:

How to install opencv + dependencies

How to set up the path variable

【讨论】:

    【解决方案6】:

    我设法解决了在 2008 年之前卸载所有 Visual C++ Redistributable Packages 然后为 VS 2015 安装 Visual C++ Redistributable Packages 的问题。解释在这里: http://answers.opencv.org/question/74384/opencv-python-30-with-python-35-on-windows/

    【讨论】:

      【解决方案7】:

      我在使用 Windows 10 Professionnal N 时遇到了同样的问题,仅通过安装媒体功能包(并在安装后重新启动 Windows)解决了它。

      Windows N 和 KN 版本不包括 OpenCV 所需的媒体功能包。如果您使用的是 Windows N 或 KN 版本,请同时安装Windows Media Feature Pack

      来自https://github.com/skvark/opencv-python

      【讨论】:

        猜你喜欢
        • 2019-01-16
        • 1970-01-01
        • 1970-01-01
        • 2019-02-20
        • 1970-01-01
        • 1970-01-01
        • 2016-03-07
        • 2020-01-01
        • 2013-07-09
        相关资源
        最近更新 更多