2020-12-24
Windows中Pyspider安装以及错误处理
安装 pyspider 过程中出现错误 ERROR: Command errored out with exit status 10: python setup.py egg_info Check the logs for full command output.
报错信息

观察发现
pycurl模块下载出错 导致无法继续下载
单独安装 pycurl
一定要单独下载后本地安装对应版本

pip 下载本地文件

搜索
pycurl下载 合适的版本 一定要与 python 版本符合版本不符报错

查看 python 版本

pycurl: 名称pycurl‑7.43.0.4‑cp37‑cp37m‑win_amd64.whl, cp 为 对应python版本
async 错误
错误图片

错误原因
- python3 中,已经将async 设置为关键字,而pyspider 版本更新缓慢并没有在此处修改,所以导致pyspider 不能正常启动。
修改 pyspider 源码将 async 改为其它非关键字 (只修改 async 关键字的,其他含有这些字符的不需要修改)
需要修改的源码所在位置

修改源码

Wsgidav 错误
错误图片

错误原因
- WsgiDav 新版本 已将更改源码
'domaincontroller': NeedAuthController(app),为'http_authenticator': {'HTTPAuthenticator': NeedAuthController(app),},
- WsgiDav 新版本 已将更改源码
修改源码
修改

werkzeug.wsgi 错误
错误图片

错误原因
werkzeug1.0.0 版本及以上,没有DispatcherMiddleware方法Pyspider需要werkzeug库版本在 0.15–1.0(不允许为1.0)
重新下载
werkzeug版本pip install --upgrade werkzeug==0.16.1
io_Loop 错误
- 报错 :
TypeError: initialize() got an unexpected keyword argument ‘io_loop’ - 错误原因 : python环境中,默认tornado版本是最新的5.0,在4.0之后就废弃了io_loop参数
- 重新更新
tornado版本 :pip install --upgrade tornado==4.5.1
*成功启动 *
pyspider all启动成功