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