11

在使用 Django 时,我想彻底消除一些 pylint 错误。引起最大烦恼的两个是从 django.db.models.Model 派生和访问对象时,以及 django.test.TestCase。首先,pylint 抱怨任何使用属性“对象”的代码,说它不是成员。第二,在一个测试用例中添加了七个测试后,它抱怨公共方法太多(我猜TestCase有十四个)

我知道这的第一部分是问题115977的副本,但是这个问题有点老了,而且没有一个解决方案很好,所以我想我会解决这个问题。

我不想简单地压制 pylint 中的投诉,因为我喜欢在其他情况下看到它们。

4

3 回答 3

7

最简单的方法是在您知道它们是虚假的区域禁用投诉,前提是您的有问题的代码不是您无法控制的(例如自动生成的)。直接从首次介绍此解决方案的消息中复制示例:

1  class foo:
2    # pylint: disable=W1234
3    def bar(self):
4      # pylint: disable=W4321
5      pass
6    def gnurz(self):
7      pass
于 2010-08-10T10:39:32.700 回答
6

我不喜欢重复自己,但这是一个实际有效的答案: https
://stackoverflow.com/a/31000713/78234 来自答案:不要通过添加ignores或禁用或削弱 Pylint 功能generated-members
使用理解Django 的积极开发的 Pylint 插件。
这个 Django 的 Pylint 插件运行良好:

pip install pylint-django

并在运行 pylint 时将以下标志添加到命令中:

--load-plugins pylint_django

详细的博文在这里

于 2015-06-23T11:31:21.997 回答
5

如果你不关心一些 pylint 的警告,比如不存在的成员(E1101)和太多的公共方法(R0904),你可以很容易地关闭它:

pylint --disable=E1101,R0904

如果您只对少数跳棋感兴趣,您可以像这样运行 pylint:

pylint --enable=basic,variables,classes,design,imports,newstyle,exceptions,format,miscellaneous,metrics,similarities
于 2010-08-12T03:26:48.403 回答