當嘗試從目錄結構中的不同子包匯入模組時,您可能會遇到「嘗試在非-套件」錯誤。此問題源於將模組作為主模組運行,它將相對導入視為模組位於頂層。
要解決此問題,請確保模組沒有作為主模組執行。在 Python 2.6 及更高版本中,您可以使用 package 屬性來確定模組在套件層次結構中的位置並相應地解析相對導入。有關此更改的更多信息,請參閱 PEP 366。
package 屬性提供了比 sys.path 操作駭客更乾淨的解決方案。它允許您匯入相對於主模組的模組,類似於 PEP 366 中所述的行為。
以上是如何在Python中執行相對導入並避免「嘗試在非套件中進行相對導入」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!