1

@tornado.web.authenticatedに遭遇すると Pylint がクラッシュする

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 を含むファイルで実行されます。Handler2 レポートを含むファイルで Pylint がクラッシュする: 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
  • パイソン 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 に答える