2012-10-04 81 views
0

我有幾個項目,他們使用一些通用的代碼。我將這些代碼重構爲公共庫,但隨後出現了一個問題。如何管理這個通用代碼。我考慮過一些選項:許多項目中的公共庫

  1. 圖書館作爲文件系統中的軟鏈接。
  2. 庫作爲git子模塊。
  3. 依賴用pip/requirements.txt管理。

這種解決方案有哪些優缺點?你有另外的建議嗎?我應該選擇哪一個,爲什麼?

我使用的Git和Python中的virtualenv。

回答

1

第三種選擇與需要一些新的功能virtualenv真的很方便。只需在您的項目中創建一個需求文件,將依賴項安裝到您的virtualenv中,然後運行env。每個項目都可以有自己的依賴關係和virtualenv,沒有任何重疊。您也不必擔心在系統的Python中安裝衝突的模塊。

+0

是的,但我不想把我的圖書館推到奶酪店。我認爲僅僅爲了一個小型圖書館而開設自己的奶酪店是巨大的矯枉過正。 – yakxxx

+1

@yakxxx:你不需要模塊在pypi中將它們安裝在virtualenv中。 – geoffspear

1

選項1,會導致長期的痛苦。任何不平凡庫將不得不打破在某個階段向後兼容性,你不希望有更新的應用程序A,B和C,因爲應用程序d從圖書館