晴天 参考文章

Scrapy执行crawl命令报错:ModuleNotFoundError: No module named 'win32api'

今天头一次在新电脑上使用scrapy,碰到了不少问题,让我忍不住吐槽。

基本环境:

Windows10
python3.6.2-64bit

问题描述:

在费了半天劲成功安装好scrapy后,crawl报错:“ModuleNotFoundError: No module named ‘win32api’”

解决方法(更新于2017.09.23):

现在回头看来,这同样是一个缺少依赖包的错误,而且只会发生在Windows系统中。

不必像之前在Stack Overflow上查到的那样给Windows系统打补丁,而是直接给python装个库(较之之前的方法,其实给更上层的打个补丁)——pypiwin32。

pip install pypiwin32

(编写于2017.08.18)

在Stack Overflow上搜索到了解决方法,按图索骥,执行了两步操作,成功解决了报错。但是我怀疑其实第一步是冗余的,直接执行第二部即可:

  1. http://www.lfd.uci.edu/~gohlke/pythonlibs/#pywin32 下载对应的whl文件并安装。单单执行这一步的话,还会报一个相似的新错:“ImportError: DLL load failed: 找不到指定的模块。”
  2. http://sourceforge.net/projects/pywin32/files/pywin32/ 下载对应版本的pywin32。比如我就下载了“pywin32-221.win-amd64-py3.6.exe”。 (小插曲,安装“pywin32-220.win-amd64-py3.6.exe”失败)