2011-01-20 61 views
1

我寫一個小Python應用程序處理。我希望能夠輕鬆部署應用程序。我知道蟒蛇2.6將允許,如果有一個模塊在蛋的根源之一,直接執行一個雞蛋。我其實有這個工作。頂級包的setuptools(或其他蟒蛇蛋建設者)

有一個問題是,當我嘗試使用argparse庫時,由於argparse模塊,我不能將庫安裝到我的源代碼目錄中(或者將argparse.py中的符號鏈接到我的源代碼目錄中)處於頂級包裝中。

如果我裝成一個名爲「argparse」子目錄,我不得不進口其像「從argparse進口argparse」,而不是正常的「進口argparse」。

我希望能夠在蛋指定站點包型目錄,我可以安裝第三方的模塊/包。有什麼辦法可以用setuptools(或其他一些建設者)做到這一點嗎?

謝謝!

回答

0

我相信你可以創建一個子目錄叫做頂層,並在你的切入點做到

import sys 
sys.path.insert(0, './toplevel') 

未經測試,但。

+1

最後我做類似的措施。我將使用過的庫安裝到otherlibs包中,並在setup調用的包列表中包含其他庫。在__main__模塊,I,然後加入每個目錄用site.addsitedir()調用。現在,我只需要找到一個很好的框架來執行安裝到otherlib的子目錄中。目前,我只是使用shell腳本,但我想要更多的聲明來聲明lib依賴關係。 – 2011-01-22 19:54:02