导入CV2:DLL加载失败(Windows 64位中的Python)

时间:2015-12-02 16:53:30

标签: python windows opencv dll 64-bit

  

ImportError:DLL加载失败:%1不是有效的Win32应用程序

有谁知道如何解决这个问题?当我尝试导入cv2时会发生此问题。我的笔记本电脑是64位并安装了64位python,我还将cv2.pyd文件放在Python的site-packages文件夹中。

我的PYTHONPATH值= C:\Python35;C:\Python35\DLLs;C:\Python35\Lib;C:\Python35\libs;C:\Users\CV\OpenCV\opencv\build\python\2.7\x64;%OPENCV_DIR%\bin;

我的OPENCV_DIR值= C:\Users\CV\OpenCV\opencv\build\x64\vc12

我还通过**%PYTHONPATH%;%PYTHONPATH%\Scripts\;%OPENCV_DIR%;**

将我的pythonpath和opencv_dir的引用添加到PATH中

我还通过pip install和命令行安装了opencv_python-3.0.0 + contrib-cp35-none-win_amd64。

这些都没有解决我的问题。

4 个答案:

答案 0 :(得分:2)

对于未来来到这里(像我一样)的人来说,这是一个更精细的答案:

  1. 卸载opencv-python,例如通过pip uninstall opencv-python
  2. 卸载所有 visual studio c ++软件包
  3. microsoft下载新的visual studio并安装
  4. gohlke下载匹配的python whl并使用例如{ pip install opencv-python-3.2.0+contrib
  5. 现在它应该有用......

答案 1 :(得分:1)

(发布@eryksun个评论作为社区答案,以防止系统自动删除问题)

  

Gohlke's cv2.cp35-win_amd64.pyd取决于MSVCP140.dll,即C ++   运行时库。

     

那是你需要的DLL吗?

     

Python的安装程序   3.5不包含此DLL,因此在这种情况下您可能必须安装VC++ 2015 redistributable package

答案 2 :(得分:0)

如果您使用的是Windows 10 N发行版,并且Windows Media功能包未预安装N发行版,则可能会发生这种情况,这是OpenCV 3.4版及更高版本所必需的。

首选解决方案是将功能部件包安装在:https://www.microsoft.com/en-us/software-download/mediafeaturepack

请小心选择适用于当前Windows版本的版本。

如果这不是一种选择,请回退到不具有dll依赖项的OpenCV的早期版本,您可以通过以下方式实现:pip install opencv-python=3.3.0.9

自从Windows推出了N版本以来,这个问题已在很多地方出现,并且在整个Windows环境中产生了许多影响,如果您说有HTML5媒体,则在Edge浏览器中打开youtube是确定您是否遇到此问题的最快方法。找不到插件,这就是问题所在。

如果问题仍然存在,请安装依赖项遍历器,并找出导致依赖项中断的模块。

答案 3 :(得分:-1)

在这种情况下,我只是复制文件' python3.dll'从我的python3安装文件夹到我的virtualenv lib文件夹,然后它可以工作。