¿Cómo hacer importaciones relativas en Python?
Imagine esta estructura de directorios:
app/
__init__.py
sub1/
__init__.py
mod1.py
sub2/
__init__.py
mod2.py
Estoy codificandomod1
, y necesito importar algo demod2
. ¿Cómo debería hacerlo
Lo intentéfrom ..sub2 import mod2
pero estoy obteniendo un "Intento de importación relativa en un paquete no".
Busqué en Google pero encontré solo "sys.path
manipulación "piratea. ¿No hay una manera limpia?
Edit: todos mis__init__.py
as @ están actualmente vacías
Edit2: estoy tratando de hacer esto porque sub2 contiene clases que se comparten entre subpaquetes sub1
, subX
, etc.).
Edit3: el comportamiento que estoy buscando es el mismo que se describe enPEP 366 (gracias John B)