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 错误
错误图片
错误原因
werkzeug
1.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
启动成功