ImportError:DLL加载失败:%1不是有效的Win32应用程序


问题内容

我在尝试在python上导入cv2并收到以下错误消息时遇到了这个问题。

>>> import cv2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: DLL load failed: %1 is not a valid Win32 application.

我确实知道有很多关于此的文章,建议该软件包的位数与python软件包不同。

但是,我正在运行的所有内容都是64位。我使用的是win7
64位,具有winpython
2.7.3.3(64位发行版),我使用此处提供的指令将opencv编译为64位,并将cv2.pyd
dll放置在python的Lib / site-packages文件夹中。

不幸的是,使用32位版本的python的建议对我不再有用,因为我必须处理对于32位而言太大的numpy数组。

谢谢!!!

------更新

唯一缺少的是将新的opencv二进制路径(C:\ opencv \ build \ bin \ Release)添加到Windows
PATH环境变量,然后重新启动python。

现在一切似乎都正常了!


问题答案:

由于对Win32的引用,ImportError消息有点令人误解,而问题仅是找不到opencv DLL。

通过将opencv二进制文件的路径添加到Windows PATH环境变量来解决此问题(例如,在我的计算机上,此路径为:C:\ opencv \ build
\ bin \ Release)。