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. 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?