Error de importación. Referencias circulares
Tengo un paquete como este
package/
__init__.py
subpackage1/
__init__.py
moduleA.py
moduleB.py
moduleC.py
moduleD.py
subpackage2/
__init__.py
moduleX.py
moduleY.py
moduleZ.py
En moduleB.py, estoy importando
from moduleA import bar
En el módulo A, estoy importando.
from moduleB import foo
Estoy recibiendo ImportError.
ImportError: cannot import name foo
Cual podría ser el problema aquí ? y para evitar este problema, ¿qué debo hacer? y en que debo escribir_en eso_.py pf package, subpackage1, subpackage2?
_en eso_.py del subpaquete 1
from moduleA import *
from moduleB import *
from moudleC import *
from moudleD import *
_en eso_.py del subpaquete 2
from moduleX import *
from moduleY import *
from moduleZ import *
_en eso_.py del paquete
from subpackage1 import *
from subpackage2 import *
Hay algun problema con mi_en eso_archivos .py?
EDITAR: He cambiado las importaciones
móduloB
from .moduleA import bar
móduloA
from .moduleB import foo
Aún así, estoy recibiendo el mismo error de importación.
ImportError: cannot import name foo
EDITAR:
móduloB
def Bar():
def __init__(self):
self.foo = Foo()
self.val = 10
.
.
móduloA
def Foo():
def __init__(self):
self.bar = Bar()
self.val = 5
.
.
Quiero hacer esto. E insisto en mantener ambas clases en archivos diferentes. ¿Cómo debo importar?