robust pylint disable for an option recently introduced

robust pylint disable for an option recently introduced

我们 CI 系统的各个阶段都有多个 pylint 版本(有充分的理由:我们想测试我们的代码是否适用于一系列包版本)。

现在,根据 pylint=2.4.0(根据 the changelog)引入了选项 import-outside-toplevel

我们如何以可靠的方式(或以 pylint>=2.4.0 为条件)禁用 pylint 错误?

我试过:

  1. # pylint: disable=import-outside-toplevel
  2. # pylint: disable=C0415
  3. 无禁用。

在情况 1 和 2 中,运行 pylint 版本 2.4.3(在与 anaconda=2019.03 对齐的 CI 阶段)导致 E0012: Bad option value。在案例 3 中,运行 pylint 版本 2.4.2(在与 anaconda=2019.10 对齐的 CI 阶段)导致 C0415: Import outside toplevel.

目前,我仅针对范围(在我的例子中是一行)禁用整个 'C' 类别:

def blah(...):
    import foo.bar  # pylint: disable=C

这适用于 pylint 2.3 到 2.5,尽管它没有我想要的那么具体。