1

Pylint在遇到@tornado.web.authenticated时崩溃

class Handler1(tornado.web.RequestHandler):
    def get(self):
        return 'hello'

class Handler2(tornado.web.RequestHandler):
    @tornado.web.authenticated
    def get(self):
        return 'hello'

Pylint 在包含 Handler1 的文件上运行。Pylint 在包含 Handler2 报告的文件上崩溃:decorator.expr.name == node.name): AttributeError: 'Getattr' object has no attribute 'name'

Traceback (most recent call last):
   File "/Users/andy/dev/virtualenv/thanks-app/bin/pylint", line 4, in <module>
    lint.Run(sys.argv[1:])
   File "/Users/andy/dev/virtualenv/thanks-app/lib/python2.7/site-packages/pylint/lint.py", line 879, in __init__
    linter.check(args)
   File "/Users/andy/dev/virtualenv/thanks-app/lib/python2.7/site-packages/pylint/lint.py", line 502, in check
    self.check_astng_module(astng, walker, rawcheckers)
   File "/Users/andy/dev/virtualenv/thanks-app/lib/python2.7/site-packages/pylint/lint.py", line 574, in check_astng_module
    walker.walk(astng)
   File "/Users/andy/dev/virtualenv/thanks-app/lib/python2.7/site-packages/pylint/utils.py", line 528, in walk
    self.walk(child)
   File "/Users/andy/dev/virtualenv/thanks-app/lib/python2.7/site-packages/pylint/utils.py", line 528, in walk
    self.walk(child)
   File "/Users/andy/dev/virtualenv/thanks-app/lib/python2.7/site-packages/pylint/utils.py", line 525, in walk
    cb(astng)
   File "/Users/andy/dev/virtualenv/thanks-app/lib/python2.7/site-packages/pylint/checkers/base.py", line 161, in visit_function
    if not redefined_by_decorator(node):
   File "/Users/andy/dev/virtualenv/thanks-app/lib/python2.7/site-packages/pylint/checkers/base.py", line 116, in redefined_by_decorator
    decorator.expr.name == node.name):
 AttributeError: 'Getattr' object has no attribute 'name'

是否有特定的 Pylint 检查可以禁用以阻止此崩溃的发生?

我正在使用:

  • 皮林特 0.25.1
  • Python 2.7.1
4

2 回答 2

1

浏览了这里的代码。禁用这些已停止发生错误:[将这些添加到配置]

禁用=E0100,E0101,E0102,E0106

pylint 文件 -d E0100,E0101,E0102,E0106

于 2012-09-20T14:19:22.960 回答
1

此错误已在 pylint 存储库中修复,并将很快发布(0.26 应该在下周发布)。所以要么使用结帐(hg clone http://hg.logilab.org/pylint),要么等到下周

于 2012-09-20T16:28:47.090 回答