首頁 > 後端開發 > Python教學 > 如何修復 Python 中的「嘗試在非套件中進行相對導入」錯誤?

如何修復 Python 中的「嘗試在非套件中進行相對導入」錯誤?

Linda Hamilton
發布: 2024-12-18 14:08:11
原創
803 人瀏覽過

How to Fix

使用__init__.py 解決「嘗試在非套件中相對導入」錯誤

使用相對路徑導入模組可能會在使用Python 套件結構時帶來挑戰。其中一個問題是嘗試跨套件目錄導入模組時遇到的「嘗試在非套件中相對導入」錯誤,儘管存在 __init__.py 檔案。

要了解根本原因,掌握這一點至關重要Python 的導入機制如何運作。導入通常是相對於當前檔案的 name 執行的。但是,當直接執行檔案時,它會採用“__main__”名稱而不是通常的名稱。這種特性會破壞相對導入,從而導致上述錯誤。

不要直接執行程式碼,請考慮使用 -m 選項,它允許您將模組視為腳本並為其分配適當的名稱。例如,要使用此方法執行 core_test.py,請輸入以下命令:

python -m pkg.tests.core_test
登入後複製

或者,您可以使用 package 屬性在模組本身內指定套件名稱。即使檔案直接作為腳本執行,此技術也可確保相對導入正常運作。有關此方法的更多詳細信息,請參閱 Python 增強提案 366 (PEP-366)。

以上是如何修復 Python 中的「嘗試在非套件中進行相對導入」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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