8
當前嘗試在Python3中工作並使用絕對導入將一個模塊導入另一個模塊,但出現錯誤ModuleNotFoundError: No module named '__main__.moduleB'; '__main__' is not a package
。考慮這個項目結構:ModuleNotFoundError:沒有名爲'__main __。xxxx'的模塊; '__main__'不是包
proj
__init__.py3 (empty)
moduleA.py3
moduleB.py3
moduleA.py3
from .moduleB import ModuleB
ModuleB.hello()
moduleB.py3
class ModuleB:
def hello():
print("hello world")
然後運行python3 moduleA.py3
給出了錯誤。這裏需要改變什麼?
謝謝!
領先的'。'只有當它所在的文件位於包中時,才按照您希望的方式工作。 – anonymoose
@anonymoose是「proj」不是一個包嗎?因爲它有一個__init __。py3? – mpseligson
你不能使用領先的'。'在導入時,當您直接使用Python運行文件時,可以按照您希望的方式工作。您必須導入文件。如果你在'proj'之外放置了另一個具有'import moduleA'的文件,我相信你會看到你期待的輸出。 – anonymoose