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.