导入错误:没有模块命名函数

戈帕尔·辛格

图像

我不知道我在这里做错了什么。我正在从functions包中的tests包中导入模块我尝试了所有方法,但在尝试运行时无法解决此问题valid_test.py

阿米拉姆

您需要在函数前使用一个点,以便 python 知道它位于当前位置“上方”的文件夹中(import 语句)。

这看起来像这个问题

在指定要导入的模块时,您不必指定模块的绝对名称。当一个模块或包包含在另一个包中时,可以在同一个顶级包中进行相对导入,而无需提及包名称。通过在指定模块或包之后使用前导点,您可以指定在当前包层次结构中向上遍历的高度,而无需指定确切名称。一个前导点表示进行导入的模块所在的当前包。两个点表示向上一层包装。三个点是两个级别,等等。所以如果你从 . 从 pkg 包中的一个模块导入 mod 然后你最终会导入 pkg.mod。如果您从 pkg.subpkg1 中执行 from ..subpkg2 import mod,您将导入 pkg.subpkg2.mod。

还有另一种方法可以通过将“father”文件夹添加到 sys.path 来解决此问题:

import os
import sys
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__, '..')))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章