from ..box_utils import decode, nms
此行显示错误
ImportError:尝试了相对导入,没有已知的父包
这是什么错误以及如何解决该错误?
答案 0 :(得分:3)
如果其他词典包含script.py
,则可以从根目录访问它。例如:
如果您的程序是结构化的:
alpha
> beta
> delta
> gamma
> epsilon
> zeta
其中alpha
,beta
,gamma
,delta
,epsilon
和zeta
是不同的目录。 epsilon
目录中的脚本可以通过以下方式调用:
from alpha.gamma.eplsilon import script
答案 1 :(得分:1)
显然,box_utils.py
不是软件包的一部分。您仍然可以导入此文件中定义的函数,但是只有尝试导入这些函数的python脚本与box_utils.py
位于同一目录中,请参见this answer。
Nota bene:就我而言,我偶然发现了一个带有一个句点的import语句的错误,如下所示:
from .generate_holidays import generate_holidays
。但是,这种语法告诉Python generate_holidays.py
是包的一部分,事实并非如此。删除句号后,错误消失了。
答案 2 :(得分:0)
package
|--__init__.py
|--foo.py
|--bar.py
bar.py
from .foo import func
...
如果有人遇到与from .foo import func
完全相同的错误。
这是因为您忘记了将其打包。因此,您只需要在__init__.py
目录中创建package
。