ImportError: ‘DLL load failed: %1 is not a valid Win32 application.


问题描述

遇到这种问题情况描述:
windows: 64 位 win7 英文版系统
python :从官网下载的是 python 2.7.2 64 位的。实际在文件夹中显示如下:
这里写图片描述

然后安装 scrapy,试用一下scrapy,cmd打开命令提示符,输入: scrapy shell http://cn.bing.com/
然后输出一堆,最后一行: ImportError: No module named win32api。

进入http://sourceforge.net/projects/pywin32/files/pywin32/ 下载 win32api
选择版本为 pywin32-219.win-amd64-py2.7.exe ,(因为系统是64位,所以选amd64)

安装完win32api 。
继续在命令提示符中输入 : scrapy shell http://cn.bing.com/
输出一堆,最后一行是:ImportError: ‘DLL load failed: %1 is not a valid Win32 application.’

解决问题的尝试

查看网上的资料,将pywin32-219.win-amd64-py2.7.exe 进行重装,但是问题还在,在python的 IDE中输入 import win32api, 还是出现以上问题,也就是说此问题至于 win32api 有关, 与安装的package无关。

由于昨天安装过其他的python版本(文件是集成的),导致python文件混乱,所以重新卸载python,删除 系统环境变量 path中的python路径,以及注册表中关于Python的文件,在注册表中找到python的方法,依次进入:HKEY_CURRENT_USER —> software。

重新安装python,按照之前的步骤再次运行,结果还是同样的错。
看了网上凌乱的资料。
然后尝试一下:

在命令提示符中输入python(前提是把python.exe 的路径加入到系统环境变量path中):
这里写图片描述
可以看到里面没说有关64位的事,根据(intel)前的32bit,可知自己装的python是 32 位,所以安装的 win32api 应该是32 位。

重新下载 pywin32-219.win32-py2.7.exe ,然后安装,上述问题不会出现。

说明:
在官网上下载python,进入下载列表,可以看到每个版本的信息,实际下载的64位或者32 位的文件的名中会带有64或者86。自己之前是直接在官网首页下载的,没进入详细列表,默认是32位。
一般建议安装32位,因为有些64的package不好找。

转载自:https://blog.csdn.net/a1368783069/article/details/49736859

You may also like...