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,成功!

    原文作者:cjeric
    原文地址: https://blog.csdn.net/cjeric/article/details/86578795
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞