Pylint 无法识别 gmpy2 成员

问题描述

我在 Kali Linux(WSL2) 上使用 pylint 和 gmpy2。 Pylint 抱怨无法找到 gmpy2 成员。我怎样才能避免这种情况?

这是一个小例子:

import gmpy2
print(gmpy2.is_even(6))

pylint 的结果是

tst.py:2:6: E1101: 模块“gmpy2”没有“is_even”成员(无成员)

我也在 ArchLinux 上试过,结果是一样的。

解决方法

根据document

如果您遇到可怕的无成员错误,则有可能 pylint 在您的代码中发现了一个错误,或者它实际上尝试了 lint 一个 C 扩展模块。

不支持开箱即用的 Linting C 扩展模块, 特别是因为 pylint 无法从 AST 对象中取出 扩展模块。

您应该在命令行或 pylintrc 文件中添加 extension-pkg-whitelist 参数。

这是我在 Github 中打开的原始 issue