错误 "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位的。我用的是64位的Windows 7,安装了winpython 2.7.3.3这个64位版本,我还按照这里的说明编译了64位的OpenCV,并把cv2.pyd这个DLL文件放到了Python解释器的Lib/site-packages文件夹里。
可惜的是,使用32位版本的Python对我来说已经不行了,因为我需要处理的NumPy数组太大,32位的无法应付。
唯一缺少的就是把新的NumPy二进制文件路径(C:\opencv\build\bin\Release)添加到Windows的PATH环境变量中,然后重启Python解释器。
现在一切看起来都正常了!
8 个回答
3
或者你需要为64位的Windows系统重新构建cv2模块。
5
你可以试着安装32位版本的OpenCV。
29
这个ImportError的错误信息有点让人误解,因为提到了Win32,但其实问题只是因为找不到OpenCV的DLL文件。
解决这个问题的方法是把OpenCV的可执行文件路径添加到Windows的PATH环境变量中(比如在我的电脑上,这个路径是:C:\opencv\build\bin\Release)。