pyspider因为async关键字报错解决
在学习python爬虫时,需要安装pyspider,在安装完成以后发现无法使用pyspider all命令。
最后一句出现
File “c:\users\13733\appdata\local\programs\python\python37\lib\site-packages\pyspider\run.py”, line 231
async=True, get_object=False, no_input=False):
SyntaxError: invalid syntax
我的python版本是3.7,经过在百度上查找以后,发现是 async和await从 python3.7 开始已经加入保留关键字中. 参考: What’s New In Python 3.7, 所以async不能作为函数的参数名.
经过查找之后,大致有两种解决方法,一种是将python版本降到3.5,另一种是将pyspider中的async关键字替换成其他关键字,但是第一种太繁琐,第二种怎么尝试都不对,经过在网上查找,得到以下新的解决办法参考:https://www.cnblogs.com/yuyu666/p/10503986.html
将wsgidav替换为2.4.1
这是WsgiDAV发布了版本 pre-release 3.x导致的,需要将版本降下来。
运行以下命令
•# python -m pip install wsgidav==2.4.1
然后运行 pyspider all 成功。