Spyder IDE抱怨无法检测到未定义的名称

Nic*_*sui 4 python import python-import python-3.x spyder

将Windows 10与运行Python 3.5的Spyder IDE一起使用.我在__init__.py文件中看到以下抱怨unable to detect undefined names:

在此输入图像描述

但是,它似乎__init__.py与所有其他文件位于同一文件夹中.

在此输入图像描述

那么为什么抱怨呢?我试图删除前面的前导点,但它仍然抱怨.请给我一些指示.

Ble*_*der 8

您的IDE抱怨,而不是Python.执行此操作时from simple import *,将导入所有公开的内容simple.通常不建议这样做,因为它会污染全局命名空间,并可能隐式覆盖现有对象.

您收到警告而不是错误,因为这种行为并不总是坏事.拥有一个__init__.py从子模块公开对象的文件是一种非常常见的模式.只要你了解潜在的风险,只需要警告:

from .input import *  # NOQA
Run Code Online (Sandbox Code Playgroud)

如果您的模块没有公开许多对象,只需按名称导入它们:

from .input import A, B, C
Run Code Online (Sandbox Code Playgroud)

这样做的好处是允许Python代码分析工具更好地理解您的代码并警告您潜在的问题.