ImportError: DLL load failed: %1 is not a valid Win32 application. But the DLL's are there 导入错误:DLL加载失败:%1 不是一个有效的 Win32 应用程序。但 DLL 文件是存在的。

12 浏览
0 Comments

ImportError: DLL load failed: %1 is not a valid Win32 application. But the DLL's are there 导入错误:DLL加载失败:%1 不是一个有效的 Win32 应用程序。但 DLL 文件是存在的。

我遇到了一个与“错误“ ImportError: DLL load failed: %1 is not a valid Win32 application””非常相似的情况,但那里的答案对我不起作用。

我的Python代码如下:

import cv2

但这一行会抛出标题中显示的错误。

我在这台64位机器上安装了OpenCV在C:\lib\opencv上。我使用的是64位的Python。

我的PYTHONPATH变量:PYTHONPATH=C:\lib\opencv\build\python\2.7。这个文件夹包含cv2.pyd文件。

我的PATH变量:Path=%OPENCV_DIR%\bin;...这个文件夹包含39个DLL文件,比如opencv_core246d.dll

OPENCV_DIR的值为:OPENCV_DIR=C:\lib\opencv\build\x64\vc11

错误“ ImportError: DLL load failed: %1 is not a valid Win32 application”的解决方案中,建议将“新的opencv二进制路径(C:\opencv\build\bin\Release)添加到Windows PATH环境变量中”。但正如上面所示,我已经在PATH中添加了OpenCV的二进制文件夹(C:\lib\opencv\build\x64\vc11\bin)。而且我的OpenCV安装中没有任何Release文件夹(除了一个空文件夹在build/java下)。

出了什么问题?我能告诉Python详细跟踪加载过程吗?它究竟在寻找哪些DLL文件?

我注意到,根据http://www.dependencywalker.com/C:\lib\opencv\build\python\2.7中的cv2.pyd是32位的,而我的机器和我运行的Python都是64位的。这可能是问题吗?如果是的话,我在哪里可以找到64位版本的cv2.pyd?

0