Python3.7 scrapy遇到async和ModuleNotFoundError: No module named 'win32api'报错的解决方案
1. 运行环境
Windows 命令行下
Python 3.7.0
Scrapy 1.5.0
在测试嵩天老师的第一个scrapy实战,执行scrapy crawl demo命令时,接连出现的两个bug。
2. 解决Python3.7 scrapy的async报错
错误提示如下:
仔细看,发现错误提示是async出问题了。原因是python3.7中把async作为了关键字,所以无法再作为变量名,但是scrapy1.5中write函数把它作为了变量,所以报错。
**解决方案:**将提示目录下的manhole.py文件里面的async全部替换为async1即可。
我这个就是打开“d:\myprogram\python3.7\lib\site-packages\twisted\conch\”路径,找到manhole.py文件,打开用文本编辑器(不要直接双击,我用的python自带的IDLE打开的)manhole.py文件,按Ctrl+H将里面的async全部替换为async1.如下:
3. Python3.7 scrapy遇到ModuleNotFoundError: No module named 'win32api’报错
解决了async报错后,继续运行,又发生“ModuleNotFoundError: No module named 'win32api”错误。
看提示信息,提示我们这个win32api模块没有安装。
解决方案:安装win32api模块即可
下载地址
下载好之后,进入下载文件的路径,在路径栏输入cmd,自动切换到相应的命令行模式。
我的是下载在桌面,所以路径是桌面。
在命令行下输入以下安装指令:
pip install pypiwin32-223-py3-none-any.whl
即可安装成功。
再执行scrapy crawl demo命令,成功。
4. 参考资料
参考一:Python3.7 scrapy遇到async报错
参考二:ModuleNotFoundError: No module named ‘win32api’
5. 后记
我从本硕药学零基础转行计算机,自学路上,走过很多弯路,也庆幸自己喜欢记笔记,把知识点进行总结,帮助自己成功实现转行。
2020下半年进入职场,深感自己的不足,所以2021年给自己定了个计划,每日学一技,日积月累,厚积薄发。
如果你想和我一起交流学习,欢迎大家关注我的微信公众号每日学一技
,扫描下方二维码或者搜索每日学一技
关注。
这个公众号主要是分享和记录自己每日的技术学习,不定期整理子类分享,主要涉及 C – > Python – > Java,计算机基础知识,机器学习,职场技能等,简单说就是一句话,成长的见证!