pip install pyspider失败的解决办法

报错




下载pycurl库

地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pycurl

选择对应的python版本




安装pycurl库

pip install 文件名




安装pyspider库

换源安装pyspiderpip install pyspider -i https://pypi.doubanio.com/simple

安装成功




此时运行pyspider还会报错

  • 因为 pyspider 的作者在参数中用了async关键字
  • Python 3.5中引入了async和await,它们在Python 3.7中成为关键字




修改pyspider里的async关键字

到python安装目录下,找到这三个文件,Ctrl + H ,将里面的 async 替换为任何非关键字以外的参数,比如 async123,然后保存

  • Lib\site-packages\pyspider\run.py
  • Lib\site-packages\pyspider\webui\app.py
  • Lib\site-packages\pyspider\fetcher\tornado_fetcher.py(这个文件里的async记得区分大小写)

如果忘记安装目录,可以用pip --version查看




最后修改一个文件,解决这个问题:Deprecated option 'domaincontroller': use 'http_authenticator.domain_controller' instead.

  • Lib\site-packages\pyspider\webui\webdav.py
将209行的
'domaincontroller': NeedAuthController(app),

修改为
'http_authenticator': {
        'HTTPAuthenticator': NeedAuthController(app),
    },

修改前

修改后




大功告成



浏览器打开localhost:5000

posted @ 2019-12-20 12:59  三个零  阅读(3121)  评论(2编辑  收藏  举报