0

我对 pylint 有疑问,我怀疑这可能是一个错误,但我很难将其归结为可出票的东西,所以我想知道其他人是否经历过我正在经历的事情,如果是,如何解决.

在我工作的公司,我们已经开始对整个代码库进行 lint,这基本上是通过

find my_subdir -iname '*.py' | sort | xargs pylint

在三个模块中,例如 m_a、m_b 和 m_c,存在无法避免的 W0201 违规,我已将违规行标记为

# pylint: disable-msg=W0201

除了遇到的第一个模块 (m_a) 之外,这有效,该指令被忽略。(无论我是否将其移至整个方法、类或模块的范围,它都会被忽略。)对于模块 m_b 和 m_c,该指令生效。

如果我删除 m_a,那么我会在 m_b 上得到“忽略指令”效果(如果我删除它,我会在 m_c 上得到它。)所有三个模块都依赖于第四个模块,比如 m_x,所以我尝试更改命令行到

find my_subdir -iname '*.py' | sort | grep -v 'm_x' | xargs pylint

现在棉绒通过了(即“忽略指令”效果不会发生。)

这一切都向我表明,在 Pylint 中,从一个模块的检查到下一个模块存在某种状态,但我找不到任何关于此的文档。它是 Pylint 的已知行为吗?

如果这是一个错误,那么我想帮助解决它。遗憾的是,代码库是机密且庞大的,因此我可能需要自己调试 Pylint 代码库。因此,我希望有人能告诉我应该从哪里开始寻找?

编辑: pylint --version 的输出是: pylint 0.26.0, astng 0.24.1, common 0.58.3 Python 2.7.3 (default, Aug 1 2012, 05:14:39) [GCC 4.6.3] 我试图以较小的规模重现该问题,但到目前为止还没有运气。

4

0 回答 0