Attempted relative import with no known parent package
from ..box_utils import decode, nms
This line is giving error
ImportError: attempted relative import with no known parent package
What is this error and how to resolve this error?
Apparently, box_utils.py
isn't part of a package. You still can import functions defined in this file, but only if the python script that tries to import these functions lives in the same directory as box_utils.py
, see this answer.
Nota bene: In my case, I stumbled upon this error with an import statement with one period, like this:
from .foo import foo
. This syntax, however, tells Python that foo.py
is part of a package, which wasn't the case. The error disappeared when I removed the period.
If a different dictionary contains script.py
, it can be accessed from the root. For instance:
If your program is structured...:
/alpha
/beta
/delta
/gamma
/epsilon
script.py
/zeta
...then a script in the epsilon
directory can be called by:
from alpha.gamma.epsilon import script