2
假設我工作的一個Python項目名爲MyModule的,而且我有以下目錄結構:通過PIP安裝後不同的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
使用這種格式但是這意味着該模塊將不再在開發中工作。當我修復部署代碼時,我將其分解以進行開發,反之亦然。
我在做什麼錯?
你的路徑到處都一樣嗎?聽起來像你可能有'。'作爲你在一個地方但不是另一個地方的路徑的一部分。 – mlissner 2013-04-27 23:11:25
是的,路徑是一樣的。當然,我可以在我的模塊代碼中做一些python路徑欺騙,這樣它就可以工作,但我覺得這是一種黑客攻擊。我相信有更好的辦法,我只是不知道公約是什麼。 – 2013-04-27 23:16:36