使用Django时,我想要安静地解决一些pylint错误。导致最大刺激的两个是从django.db.models.Model派生并访问对象和django.test.TestCase。首先,pylint抱怨任何使用属性'objects'的代码,说它不是成员。在第二个,在对测试用例添加七个测试之后,它抱怨公共方法太多(我猜测TestCase有十四个)
我知道这个问题的第一部分是问题115977的重复,但是这个问题有点陈旧,没有一个解决方案非常好,所以我认为我会解决这个问题。
我不想简单地压制pylint中的抱怨,因为我喜欢在其他情况下看到它们。
答案 0 :(得分:7)
最简单,如果您的问题代码不受您的控制(例如自动生成),则禁用您知道它们是虚假的区域中的投诉。直接从the message that first introduced this solution复制示例:
1 class foo:
2 # pylint: disable=W1234
3 def bar(self):
4 # pylint: disable=W4321
5 pass
6 def gnurz(self):
7 pass
答案 1 :(得分:5)
我不喜欢重复自己,但这里的答案确实有效:
https://stackoverflow.com/a/31000713/78234
从答案:
不要通过添加ignores
或generated-members
来禁用或削弱Pylint功能
使用积极开发的理解 Django的Pylint插件
This Pylint plugin for Django效果很好:
pip install pylint-django
当运行pylint时,在命令中添加以下标志:
--load-plugins pylint_django
详细博文here。
答案 2 :(得分:4)
如果您不关心某些pylint的警告,例如不存在的成员(E1101)和太多的公共方法(R0904),您可以通过以下方式轻松关闭它:
pylint --disable=E1101,R0904
如果您只对几个检查器感兴趣,可以像这样运行pylint:
pylint --enable=basic,variables,classes,design,imports,newstyle,exceptions,format,miscellaneous,metrics,similarities