Windows python3.7 下安装运行pyspider

安装pyspider的时候习惯直接用pip安装,结果抛错如下

Command "python setup.py egg_info" failed with error code 10 in C:\Users\jackc\AppData\Local\Temp\pip-install-hext0tnl\pycurl\

看信息貌似是缺少什么文件了,然后查了一下的确如此,在安装pyspider之前需要安装pycurl。可以直接从git获得pycurl的whl文件 https://github.com/pycurl/downloads/tree/master/7.43.0.1。 不过在git上我没有发现python3.7对应的安装包,如果你使用python 3.7可以从下面的链接获得 https://www.lfd.uci.edu/~gohlke/pythonlibs/

先用pip安装pycurl whl包,再用pip3 install pyspider, 安装成功

安装完运行pyspider all, 如果你是python3.7的环境那会遇到一个syntax error 的错误。这是因为python3.7中,async已经成为了python的保留字符。而pyspider的几个函数的参数使用了这个字符导致的错误。Git上已经有一个pullrequest修改了这个问题,不过似乎并没有放到最新的安装包中,那我们就自己修改就好了,非常简单。主旨就是将所有参数中用的async替换为async_,这样就避免了关键字冲突的问题了。步骤如下

1. 去到python的安装目录然后,例如C:\Python37\Lib\site-packages\pysider

2. 以关键字async查找所有的文件,我通过pyspider all的报错信息找到两个run.py 和 fetcher\tornado_fetch.py。可能还有更多的文件,可以使用notepad++来search整个文件夹会比较快

3.打开找到的文件,把所有的async改成async_,然后保存

重新运行pyspider all,成功!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值