Attempted relative import with no known parent package Attempted relative import with no known parent package python-3.x python-3.x

Attempted relative import with no known parent package


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    > zeta

where alpha, beta, gamma, delta, epsilon, and zeta are different directories. A script in the epsilon directory can be called by:

from alpha.gamma.epsilon import script


package   |--__init__.py   |--foo.py   |--bar.py

Content of bar.py

from .foo import func...

If someone is getting the exactly same error for from .foo import func.

It's because you've forgot to make it a package. So you just need to create __init__.py inside package directory.