我的情况非常类似于Error "ImportError: DLL load failed: %1 is not a valid Win32 application"中的情况,但那里的答案对我不起作用。
我的 Python 代码说:
import cv2
但是该行会引发此问题标题中显示的错误。
C:\lib\opencv
我在这台 64 位机器上安装了 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 环境变量”。但如上所示,C:\lib\opencv\build\x64\vc11\bin
我的 PATH 中已经有了 OpenCV 二进制文件夹 ( )。而且我的 OpenCV 安装没有任何 Release 文件夹(除了build/java下的一个空文件夹)。
怎么了?我可以告诉 Python 详细跟踪加载过程吗?它到底在寻找什么 DLL 文件?
我注意到,根据http://www.dependencywalker.com/,in是32 位cv2.pyd
的C:\lib\opencv\build\python\2.7
,而我正在运行的机器和 Python 是 64 位的。这可能是问题吗?如果是这样,我在哪里可以找到 cv2.pyd 的 64 位版本?