我的情况非常类似于ImportError上的情况:DLL加载失败:%1不是有效的Win32应用程序,但是答案对我不起作用。
我的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加载失败:%1不是有效的Win32应用程序,表示要向C:\opencv\build\bin\Release
Windows PATH环境变量添加新的opencv二进制路径()。但是,如上所示,C:\lib\opencv\build\x64\vc11\bin
我的PATH中已经有OpenCV Binaries文件夹()。而且我的OpenCV安装没有任何Release文件夹(build / java下为空)。
关于出什么问题有什么想法吗?我可以告诉Python详细跟踪加载过程吗?究竟要寻找什么DLL?
谢谢,拉斯
编辑:
我只注意到,根据http://www.dependencywalker.com/中,cv2.pyd
在C:\lib\opencv\build\python\2.7
为32位,而我运行的机器和Python的是64位。可能是问题所在吗?如果是这样,我在哪里可以找到cv2.pyd的64位版本?
PYTHONPATH
曾经包含过SimpleCV库安装所留下的条目。尽管我已经卸载了SimpleCV,但PYTHONPATH
尚未还原该文件,它指向的目录与SimpleCV安装留下的OpenCV版本冲突。解决方案:清除PYTHONPATH
。