| 报错 |

| 下载pycurl库 |
地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pycurl
选择对应的python版本

| 安装pycurl库 |
pip install 文件名

| 安装pyspider库 |
换源安装pyspider:pip 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

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

被折叠的 条评论
为什么被折叠?



