将 Windows 10 与运行 Python 3.5 的 Spyder IDE 结合使用。我在 __init__.py
文件中看到以下内容提示 unable to detect undefined names
:
但是,__init__.py
文件似乎与所有其他文件位于同一文件夹中。
那么它为什么会提示呢?我试图删除前面的前导点,但它仍然提示。请给我一些指示。
最佳答案
您的 IDE 在提示,而不是 Python。当您执行 from simple import *
时,您导入了simple
公开的一切。通常不推荐这样做,因为它会污染全局命名空间并可能隐式覆盖现有对象。
您会收到警告而不是错误,因为这种行为并不总是不好的。拥有一个从子模块公开对象的 __init__.py
文件是一种非常常见的模式。只要您了解潜在的风险,只需将警告静音即可:
from .input import * # NOQA
如果您的模块没有公开很多对象,只需按名称导入它们:
from .input import A, B, C
这样做的好处是允许 Python 代码分析工具更好地理解您的代码并警告您潜在的问题。
关于python - Spyder IDE 提示无法检测未定义的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50439309/