Importfehler. Zirkuläre Referenzen
Ich habe so ein Paket
package/
__init__.py
subpackage1/
__init__.py
moduleA.py
moduleB.py
moduleC.py
moduleD.py
subpackage2/
__init__.py
moduleX.py
moduleY.py
moduleZ.py
In moduleB.py importiere ich
from moduleA import bar
In Modul A importiere ich
from moduleB import foo
Ich erhalte ImportError.
ImportError: cannot import name foo
Woran könnte das liegen? Was soll ich tun, um dieses Problem zu vermeiden? und was soll ich schreiben_drin_.py pf package, subpackage1, subpackage2?
_drin_.py von subpackage1
from moduleA import *
from moduleB import *
from moudleC import *
from moudleD import *
_drin_.py von subpackage2
from moduleX import *
from moduleY import *
from moduleZ import *
_drin_.py des Pakets
from subpackage1 import *
from subpackage2 import *
Gibt es ein Problem mit meinem_drin_.py Dateien?
BEARBEITEN: Ich habe Importe geändert
ModulB
from .moduleA import bar
moduleA
from .moduleB import foo
Trotzdem erhalte ich den gleichen Importfehler.
ImportError: cannot import name foo
BEARBEITEN:
ModulB
def Bar():
def __init__(self):
self.foo = Foo()
self.val = 10
.
.
moduleA
def Foo():
def __init__(self):
self.bar = Bar()
self.val = 5
.
.
Ich möchte das machen. Und ich bestehe darauf, beide Klassen in unterschiedlichen Dateien zu halten. Wie soll ich importieren?