为什么Pylint说numpy.random没有'正常'成员,因为它呢?

时间:2017-08-01 18:22:24

标签: python visual-studio-code pylint

enter image description here

此代码可以运行但是从vscode获得错误符号。

1 个答案:

答案 0 :(得分:2)

Pylint是一个静态检查程序,但NumPy会动态导入子模块,例如random。 这是numpy/__init__.py

的相关部分
from . import random
# skipped lines
__all__.extend(['linalg', 'fft', 'random', 'ctypeslib', 'ma'])

numpy/random.__init__.py中,您可以找到以下这一行:

from .info import __doc__, __all__

按照此跟踪进一步numpy/random/info.py包含:

__all__ = [
    # skipped lines
    'normal',
    # skipped lines
]

首次导入__init__.py时会执行numpy。 列表__all__包含numpy公开的名称。 此列表在运行时扩展,因此,不能通过PyLint进行静态检查。

different ways to turn the check of NumPy members off