我的情况非常类似于ImportError上的情况:DLL加载失败:%1不是有效的Win32应用程序,但是答案对我不起作用。
我的Python代码说:
import cv2
但是该行引发了此问题标题中显示的错误。
我C:\lib\opencv在此64位计算机上安装了OpenCV 。我正在使用64位Python。
C:\lib\opencv
OpenCV
我的PYTHONPATH变量:PYTHONPATH=C:\lib\opencv\build\python\2.7。该文件夹包含cv2.pyd所有内容。
PYTHONPATH
PYTHONPATH=C:\lib\opencv\build\python\2.7
我的PATH变量:Path=%OPENCV_DIR%\bin;...此文件夹包含39个DLL文件,例如opencv_core246d.dll。
Path=%OPENCV_DIR%\bin;...
opencv_core246d.dll
OPENCV_DIR具有以下值:OPENCV_DIR=C:\lib\opencv\build\x64\vc11。
OPENCV_DIR
OPENCV_DIR=C:\lib\opencv\build\x64\vc11
ImportError上的解决方案:DLL加载失败:%1不是有效的Win32应用程序,表示要向C:\opencv\build\bin\ReleaseWindows PATH环境变量添加新的opencv二进制路径()。但是,如上所示,C:\lib\opencv\build\x64\vc11\bin我的PATH中已经有OpenCV Binaries文件夹()。而且我的OpenCV安装没有任何Release文件夹(build / java下为空)。
C:\opencv\build\bin\ReleaseWindows PATH
C:\lib\opencv\build\x64\vc11\bin
OpenCV Binaries
build / java
关于出什么问题有什么想法吗?我可以告诉Python详细跟踪加载过程吗?究竟要寻找什么DLL?
编辑: 我只注意到,根据http://www.dependencywalker.com/中,cv2.pyd在C:\lib\opencv\build\python\2.7为32位,而我运行的机器和Python的是64位。可能是问题所在吗?如果是这样,在哪里可以找到cv2.pyd的64位版本?
http://www.dependencywalker.com
cv2.pyd
C:\lib\opencv\build\python\2.7
适用于Python扩展程序包的非官方Windows二进制文件
你可以从这里找到任何python库