尝试在没有已知父包的情况下进行相对导入

新手上路,请多包涵
from ..box_utils import decode, nms

此行 出错

ImportError: 尝试在没有已知父包的情况下进行相对导入

这是什么错误以及如何解决此错误?

原文由 Puneet Shekhawat 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 503
2 个回答

显然, box_utils.py 不是包的一部分。您仍然可以导入此文件中定义的函数,但前提是尝试导入这些函数的 python 脚本与 box_utils.py 位于同一目录中,请参阅 此答案

注意:在我的例子中,我偶然发现了这个带有一个句点的导入语句的错误,如下所示: from .foo import foo 。但是,此语法告诉 Python foo.py 是包的一部分,但事实并非如此。当我删除句点时,错误消失了。

原文由 Tobias Feil 发布,翻译遵循 CC BY-SA 4.0 许可协议

如果不同的字典包含 script.py ,则可以从根访问它。例如:

如果您的程序是结构化的…:

 /alpha
  /beta
    /delta
  /gamma
    /epsilon
      script.py
    /zeta

…然后可以通过以下方式调用 epsilon 目录中的脚本:

from alpha.gamma.epsilon import script

原文由 Wychh 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题