pip install pyspider失败的解决办法

在尝试安装pyspider时遇到问题?本文提供了一种解决方案。首先,通过更换源来安装pyspider。然后,由于Python 3.7中async成为关键字导致冲突,需要手动修改pyspider的三个文件,将async替换为非关键字。最后,解决webui/webdav.py中的过时选项问题,更新相关配置。遵循这些步骤,你将能成功安装并运行pyspider。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

报错



 

 

下载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



 

路漫漫其修远兮,吾将上下而求索
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值