pyspider安装完启动报错【connect to scheduler rpc error: error(111, 'Connection refused')】

调研爬虫框架pyspider有一段时间了,感觉已经比较成熟,跟老板申请了一台机器,打算搭一套正式环境。然而在熟悉的安装步骤过后,启动画面却是这样的:

虽然心中有疑惑,但还是熟练的百度起来。一番搜索之后,大概有了方向,可能是schedule的数据链接的问题,解决方案是把pyspider的默认消息队列改为redis,即启动指定message_queue

#启动指定配置文件config.json
{
  "message_queue": "redis://localhost:6379/db",
  "webui": {
    "username": "chenduan",
    "password": "123456",
    "need-auth": true,
    "port": 5001
  },
  "scheduler" : {
    "xmlrpc-host": "0.0.0.0",
    "delete-time": 3600
  }
}
pyspider --config config.json
#或者启动指定消息队列 pyspider --message-queue redis://localhost:6379/db

但是试了一番之后并未解决。

网上关于这个问题的介绍篇幅有限,咨询群友也未果,感觉走不下去了。眼下还有2个办法,重新找个机器再装一遍,可能是安装的哪个包版本问题所致;再者去github上提个issue,作者才是最权威的。

当我打开github的时候不禁眼前一亮,正好有人也遇到这个问题了,而且还有回复:

果然,很快就找到了有用信息

这位外国大神自己提的问题,自己解决了,只需要把Tornado版本降到4.5即可。我看了一下自己的版本,果然也是5.0

https://pypi.python.org/pypi/tornado/4.5

在上面网站下载4.5版本

tar -zxvf tornado-4.5.tar.gz

cd tornado-4.5

python setup.py build

python setup.py install

再次启动pyspider,还是报错

进入pip编译安装的目录(我的是/usr/local/lib/python2.7/site-packages),发现有多个tornado的编译文件夹,仅留4.5的,其余都删掉

再次启动,终于正常了

原文地址:https://www.cnblogs.com/wangzhisdu/p/8529063.html