[英]Python module paths different after installing through pip
假設我正在一個名為mymodule的python項目中工作,並且我具有以下目錄結構:
mymodule/
README
setup.py
mymodule/
__init__.py
foo.py
bar.py
在開發過程中,我通常會在內部mymodule
文件夾中處理所有源文件。 因此,如果我正在研究foo
並想從bar
導入一些東西,我會做這樣的事情:
from bar import myfunction
在開發過程中一切正常。 當我要部署模塊時會出現問題。 如果我將模塊安裝到我正在處理的另一個項目中,則我的代碼將不再起作用,因為模塊需要像這樣導入:
from mymodule.bar import myfunction
我可以將mymodule
所有導入內容更改為使用此格式,但是這意味着該模塊在開發中將不再起作用。 修復代碼以進行部署時,我會將其破壞以進行開發,反之亦然。
我究竟做錯了什么?
我不確定這是否是最干凈的方法,但是我最終只是用mymodule.
為所有導入添加了前綴mymodule.
。 如果我需要在本地進行開發,則只需運行pip install .
在根目錄中。 如果進行任何更改,則需要卸載並重新安裝,但至少可以正常工作。 我確定有一些PATH技巧可以阻止我執行此操作。
希望這可以幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.