按目录忽略pylint

2024-04-20 01:04:16 发布

您现在位置:Python中文网/ 问答频道 /正文

以下是来自pylint docs

--ignore=<file>
    Add <file or directory> to the black list. It should be a base name, not a path. You may set this option multiple times. [current: %default]

但是我没有运气让目录部分工作。

我有一个名为migrations的目录,其中有django-south迁移文件。当我输入--ignore=migrations时,它仍然会在migrations目录中的文件中给出错误/警告。

可能是--ignore不适用于目录吗?

如果我甚至可以使用regexp来匹配被忽略的文件,那么它就可以工作了,因为django south文件都被命名为0001_something,0002_something。。。


由于无法让ignore by目录工作,所以我只能将# pylint: disable-msg-cat=WCREFI放在每个迁移文件的顶部,这样就忽略了所有pylint错误、警告和infos。


Tags: or文件django目录add警告docsmigrations
3条回答

虽然这是一个老问题,但当我们搜索堆栈溢出时,它出现在列表的顶部,所以我在这里发布我们的解决方案,希望它可能对其他人有用。

要忽略名为3rdparty的目录树下的子目录,我们将以下ignore-patterns项添加到.pylintrc中的[MASTER]项中。

# Add files or directories matching the regex patterns to the blacklist. The
# regex matches against base names, not paths.
# Ignore all .py files under the 3rdparty subdirectory.
ignore-patterns=**/3rdparty/**/*.py

这解决了pylint-1.7.1的问题。

我们最初被注释中的“基本名称”子句弄糊涂了。显然它确实接受带有通配符的路径。至少对我们来说是这样。你的里程可能不同。

不能给出路径,只能给出目录的“basename”。E、 g.使用--ignore=lib而不是--ignore-=appengine-toolkit/gaetk/lib

问题是您将忽略名为lib的所有目录。

添加:

[MASTER]
ignore=migrations

对我来说,pylintrc用的是pylint 0.25。我的问题是PyDev不尊重我的设置。这是因为,我认为,它运行的是每个文件的pylint,我认为它绕过了“忽略”检查-无论是模块/目录还是文件。PyDev对pylint的调用如下:

/path/to/site-packages/pylint/lint.py --include-ids=y /path/to/project/migrations/0018_migration.py

相关问题 更多 >