Python 使用星形导入在spyder IDE中导入辅助文件,无警告

Python 使用星形导入在spyder IDE中导入辅助文件,无警告,python,spyder,Python,Spyder,由于主文件越来越长,我决定将代码分成两个文件,一个包含所有函数(这里称为common_functions.py),另一个包含类和方法,后者导入前者。问题是,我想使用 from common_functions import * 因为我不需要一个前缀的函数里面,因为他们是相当多的。另外,虽然不重要,但这使我不必重复在类文件中导入包。问题是,spyder没有识别导入文件的内部,导致如下所示的警告,尽管代码正常执行 因此,我的问题是,有没有一种方法可以消除这些警告,或者通过解释spyder如何访问

由于主文件越来越长,我决定将代码分成两个文件,一个包含所有函数(这里称为
common_functions.py
),另一个包含类和方法,后者导入前者。问题是,我想使用

from common_functions import *
因为我不需要一个前缀的函数里面,因为他们是相当多的。另外,虽然不重要,但这使我不必重复在类文件中导入包。问题是,spyder没有识别导入文件的内部,导致如下所示的警告,尽管代码正常执行

因此,我的问题是,有没有一种方法可以消除这些警告,或者通过解释spyder如何访问
common_functions.py
的包和函数,或者以不同的方式组织代码?

spyder在编辑器窗格中使用引擎盖下进行实时代码分析。Pyflakes没有解释通配符导入语句的功能(即,它不会检索通配符导入实际导入的所有名称)。因此,您会收到关于未定义名称的警告消息

我建议在代码文件中完全避免通配符导入。尽管通配符导入是有效的python代码,但在大多数情况下,通配符导入被广泛认为是一种不好的做法(有关更详细的解释,请参阅和)。如果将通用函数导入*中的
替换为例如
将通用函数导入为cf
,则必须使用的前缀长度最小。

Spyder在编辑器窗格中的引擎盖下用于实时代码分析。Pyflakes没有解释通配符导入语句的功能(即,它不会检索通配符导入实际导入的所有名称)。因此,您会收到关于未定义名称的警告消息

我建议在代码文件中完全避免通配符导入。尽管通配符导入是有效的python代码,但在大多数情况下,通配符导入被广泛认为是一种不好的做法(有关更详细的解释,请参阅和)。如果将公共_函数导入*
中的
替换为例如
将公共_函数导入为cf
,则必须使用的前缀长度最小