Imagine this directory structure:
app/
__init__.py
sub1/
__init__.py
mod1.py
sub2/
__init__.py
mod2.py
I'm coding mod1
, and I need to import something from mod2
. How should I do it?
I tried from ..sub2 import mod2
but I'm getting an "Attempted relative import in non-package".
I googled around but found only "sys.path
manipulation" hacks. Isn't there a clean way?
Edit: all my __init__.py
's are currently empty
Edit2: I'm trying to do this because sub2 contains classes that are shared across sub packages (sub1
, subX
, etc.).
Edit3: The behaviour I'm looking for is the same as described in PEP 366 (thanks John B)