[英]Importing from sibling directories (python 3)
我無法弄清楚如何使用絕對導入從Python 3的同級目錄中導入模塊。
sys.path
。 __init__.py
和setup.py
將目錄轉換為pip可安裝的軟件包。 對於選項1,我想出了如何通過修改sys.path
從同級目錄中導入模塊,但是這種方法對我來說似乎有點怪。 另外,我讀到它不是首選。 為什么? 修改sys.path
有天生的錯誤或危險嗎?
對於選項2。我到底需要做什么才能使軟件包pip可安裝? 我已經創建了__init__.py
文件,但似乎需要創建和配置setup.py
腳本來准備要分發的程序包? 我仍處於開發模式,這真的是最好的/ pythonic方法嗎? 如果是這樣,那么在創建setup.py
之后,我是否只需在終端中鍵入python setup.py install
?
編輯:我現在正試圖使用絕對導入來弄清楚這一點,因為python 3確實支持相對導入。
據我了解,Python 3不支持相對導入
是的
要從myproject/bar/baz.py
導入myproject/foo/__init__.py
myproject/bar/baz.py
,可以使用以下命令:
from .. import foo
或者,如果要在foo
導入對象/模塊,請執行以下操作:
from ..foo import object
這要求myproject
是一個包,因此myproject/__init__.py
必須存在。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.