我有一个文件foo.py,该文件大量使用了Faker第三方模块。这样,pylint会产生很多“无成员”错误。
我想在foo.py中禁用它们。所以在顶部,我尝试了 插入:
# pragma pylint: disable=no-member
但是,以相当烦人的方式,每次遇到这些错误之一时,pylint都会发出一条被抑制的消息-完全违背了我的编译指示的目的?
foo.py:1:0: I0011: Locally disabling no-member (E1101) (locally-disabled)
... other misc stuff ...
foo.py:177:0: I0020: Suppressed 'no-member' (from line 1) (suppressed-message)
foo.py:83:0: I0020: Suppressed 'no-member' (from line 1) (suppressed-message)
foo.py:85:0: I0020: Suppressed 'no-member' (from line 1) (suppressed-message)
嗯...那太荒谬了。
所以我试图...抑制抑制消息?
# pragma pylint: disable=no-member,suppressed-message
然后它变得更好...
foo.py:1:0: I0011: Locally disabling no-member (E1101) (locally-disabled)
foo.py:1:0: I0011: Locally disabling suppressed-message (I0020) (locally-disabled)
foo.py:1:0: C0102: Black listed name "foo" (blacklisted-name)
.... misc stuff, actual things I should clean up here ...
foo.py:1:0: I0021: Useless suppression of 'suppressed-message' (useless-suppression)
所以我想我的问题是-如何使抑制消息完全在每个文件的基础上消失,而不会插入一些烦人的替换消息?
编辑:谢谢您的评论。
pylint --version的输出:
pylint 2.1.1
astroid 2.0.4
Python 3.6.5 (default, Apr 25 2018, 14:23:58)
[GCC 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.1)]
答案 0 :(得分:1)
I类消息默认情况下处于禁用状态。您可以通过在pylintrc的enable=all
部分中设置[MESSAGES CONTROL]
来打开它们自己,然后在同一部分的disable
列表中未禁用它们。将suppressed-message
添加到pylintrc的disable
列表中,被抑制的消息应停止出现。
对于无用抑制消息,这似乎是一个pylint错误。