首頁 > 後端開發 > Python教學 > 在 Python 中使用相對導入時如何修復 ModuleNotFoundError?

在 Python 中使用相對導入時如何修復 ModuleNotFoundError?

DDD
發布: 2024-10-29 04:52:29
原創
805 人瀏覽過

 How to Fix ModuleNotFoundError When Using Relative Imports in Python?

Python 中的相對導入:對 ModuleNotFoundError 進行故障排除

使用多個 Python 模組時,經常會遇到 ModuleNotFoundError。當嘗試使用相對導入路徑從未作為套件的一部分執行的檔案導入模組時,通常會發生此錯誤。

要理解此錯誤,區分相對導入和絕對導入非常重要:

  • 絕對導入指定完整模組路徑,無論當前模組的位置如何。
  • 相對導入允許導入相對於目前模組在包中的位置。

在提供的範例中,test.py 嘗試使用相對導入路徑(導入配置)導入 config.py。但是,當 test.py 不作為套件的一部分運行時(例如直接作為腳本執行時),main 將是當前模組,不包含在套件中。

因此,不能從 main 模組使用相對導入。相反,您應該使用絕對導入(來自 .import config)。但是,使用絕對導入而不將包含資料夾 (ryan) 新增至 sys.path 將導致 ModuleNotFoundError。

要解決此問題,您必須:

  • 修改您的目錄從套件目錄中建構並執行腳本,確保 sys.path 包含套件路徑。
  • 利用套件感知的導入方法,例如將 __init__.py 檔案插入到定義包的子目錄中。

這些步驟到位後,絕對導入和相對導入都應該如預期運作。

以上是在 Python 中使用相對導入時如何修復 ModuleNotFoundError?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板