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?
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
in the latest python version, import it, directly don't use .. and .library import the file which you want. this technique will work in the child directory. If you import it from parent directory, then place the directory's full path.
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.