Ubuntu 下安装 Pyspider

官网上说:

$ sudo pip install pyspider

安装貌似成功, 检测时, 然而, 报错了:

$ pyspider all
Traceback (most recent call last):
  File "/usr/local/bin/pyspider", line 9, in <module>
    load_entry_point('pyspider==0.3.10-dev', 'console_scripts', 'pyspider')()
  File "/usr/local/lib/python2.7/dist-packages/pyspider-0.3.10_dev-py2.7.egg/pyspider/run.py", line 754, in main
    cli()
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 1043, in invoke
    return Command.invoke(self, ctx)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/pyspider-0.3.10_dev-py2.7.egg/pyspider/run.py", line 97, in cli
    logging.config.fileConfig(kwargs['logging_config'])
  File "/usr/lib/python2.7/logging/config.py", line 77, in fileConfig
    formatters = _create_formatters(cp)
  File "/usr/lib/python2.7/logging/config.py", line 135, in _create_formatters
    f = c(fs, dfs)
  File "/usr/local/lib/python2.7/dist-packages/pyspider-0.3.10_dev-py2.7.egg/pyspider/libs/log.py", line 22, in __init__
    fmt = _LogFormatter.DEFAULT_FORMAT
AttributeError: type object 'LogFormatter' has no attribute 'DEFAULT_FORMAT'

一查, 原来是这个包 tornado 版本太低了, 低到那时候:

type object 'LogFormatter' has no attribute 'DEFAULT_FORMAT'

跑去最新版的 tornado 一看, 果然有此属性.


解决方法: 升级 tornado.

$ sudo pip install -U tornado

然而, 不行...
只能使出简单粗暴的方式了, 就是先编译安装一个最新的 tornado , 然后, 删除掉原先那个, 再把新的拷贝一份过去.具体操作如下:

最先想用 pip 安装, 然而败了.

$ sudo pip install tornado

所以, 只好用源码编译安装. 首先,先去 Github 下载一个 tornado. 解压并进去 tornado 文件夹. 执行:

$ python setup.py build
$ sudo python setup.py install
$ sudo rm -R /usr/lib/python2.7/dist-packages/tornado
$ sudo copy -r /usr/local/lib/python2.7/dist-packages/tornado-4.5.2-py2.7-linux-x86_64.egg/tornado /usr/lib/python2.7/dist-packages/

最后, 测试一波.

$ pyspider all

打开浏览器,输入: localhost:5000, 再一个潇洒回车, 啊... 画面太美,不敢直视.

撸完这一切, 我默默的竖起了中指....

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • linux和windows下安装python拓展包-pycharm、numpy、scipy、matplotlib、...
    hzyido阅读 81,311评论 2 10
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,977评论 25 708
  • 1. 介绍 首先让我们来看看TensorFlow! 但是在我们开始之前,我们先来看看Python API中的Ten...
    JasonJe阅读 11,795评论 1 32
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,859评论 18 139
  • 金莹剔透光彩耀人 手捧起你万众瞩目的女神 他说你们好幸福 他说让他们好羡慕 他说你们是唯一 他说 全都是他说 远看...
    vegout阅读 265评论 0 0