私はこのようなパッケージを持っています
package/
__init__.py
subpackage1/
__init__.py
moduleA.py
moduleB.py
moduleC.py
moduleD.py
subpackage2/
__init__.py
moduleX.py
moduleY.py
moduleZ.py
moduleB.pyで、インポートしています
from moduleA import bar
moduleAでは、インポートしています
from moduleB import foo
ImportErrorが発生しています。
ImportError: cannot import name foo
ここで何が問題になる可能性がありますか?この問題を回避するには、どうすればよいですか?そして、私は_ init _ .py pf package、subpackage1、subpackage2に何を書くべきですか?
_ init_.pyのサブパッケージ1
from moduleA import *
from moduleB import *
from moudleC import *
from moudleD import *
_ init_.pyのサブパッケージ2
from moduleX import *
from moduleY import *
from moduleZ import *
_ init_.pyパッケージ_
from subpackage1 import *
from subpackage2 import *
_ init _ .pyファイルに問題はありますか?
編集:インポートを変更しました
moduleB
from .moduleA import bar
moduleA
from .moduleB import foo
それでも、同じインポートエラーが発生します。
ImportError: cannot import name foo
編集:
moduleB
def Bar():
def __init__(self):
self.foo = Foo()
self.val = 10
.
.
moduleA
def Foo():
def __init__(self):
self.bar = Bar()
self.val = 5
.
.
これをやりたいです。そして、私は両方のクラスを異なるファイルに保持することを主張します。どのようにインポートすればよいですか?