python - Spyder IDE 提示无法检测未定义的名称

标签 python python-3.x import python-import spyder

将 Windows 10 与运行 Python 3.5 的 Spyder IDE 结合使用。我在 __init__.py 文件中看到以下内容提示 unable to detect undefined names:

enter image description here

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

enter image description here

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

最佳答案

您的 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/

相关文章:

python - Matplotlib:重新排序子图

python - 如何通过应用 numpy 向量化使用条件检查从 python 列表或 numpy 数组中提取值?

javascript - 如何在 Python 中使用 Javascript +Date() 数字时间戳?

python - 客户端脚本在UDP套接字上停止时获取ConnectionResetError

python - 在 IDA Pro 中使用 PySide 导入错误

python - '\b' 在 Python 中如何工作?

python-3.x - 使用Python的正则表达式将 float 替换为 "dot"

hadoop - 使用 importtsv 将文本文件导入 HBase

import - 如何从同级模块导入?

qt - QML 仅在可用时导入更高版本的模块?