1
詞
的結構如下:一個模塊test
包含兩個子模塊test.foo
和test.bar
。圓形參照幀內的子模塊
test.foo
有一個函數inc()
使用因此基於Python文檔from . import bar
上test.bar.bar()
是包括了正確的方式,而這種按預期工作。
test.bar
然而,也具有這樣的功能inc2
使用test.foo.foo
,但是當使用from . import foo
,這兩個模塊的破裂。
實現此目的的正確方法是什麼?我在Python文檔或搜索中發現很少。
代碼測試/ _ 初始化 _.py
#empty
測試/ foo.py
from . import bar
def foo():
print("I do foo")
def inc():
print(bar.bar())
測試/ bar.py
from . import foo
def bar():
print("I do bar")
def inc2():
print(foo.foo())
錯誤1
>>> import test.foo
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "test/foo.py", line 1, in <module>
from . import bar
File "test/bar.py", line 1, in <module>
from . import foo
ImportError: cannot import name foo
錯誤2
>>> import test.bar
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "test/bar.py", line 1, in <module>
from . import foo
File "test/foo.py", line 1, in <module>
from . import bar
ImportError: cannot import name bar
或將這些模塊組合成一個 – jfs 2012-07-22 07:51:02