簡體   English   中英

python3顯式相對導入錯誤

[英]python3 explicit relative importing error

我正在着手打包我的 python 代碼。 我的包結構是:

mypackage/
    __init__.py
    /subpackage
        __init__.py
        module1.py
        module2.py

在我的 module2 中,如果我使用絕對導入,例如:

from mypackage.subpackage import module1

這會起作用。

但是,如果我使用顯式導入,例如:

from . import module1

這給了我

導入錯誤:嘗試在沒有已知父包的情況下進行相對導入


我在谷歌上搜索過這個,發現隱式相對導入不好。 但是我的導入是明確的,它給了我這樣的錯誤消息。 有人可以幫我理解為什么嗎? 謝謝

相對導入僅適用於包內部。 如果您將mypackage作為實際可執行代碼(純庫)的要求並使用顯式相對導入,那就沒問題了。 但是,如果您嘗試直接運行module2 ,您的代碼會顯示

找到__main__所在的包,找到它的父級,找到名為module1 ITS子級

這顯然是無稽之談,因為__main__沒有父級(根據定義)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM