我們的Django項目變得越來越龐大。我們有數百個應用程序,並使用大量的第三方Python包,其中很多需要C編譯。當我們需要爲主要版本創建新的虛擬環境時,我們的部署需要很長時間。有了這個說法,我希望能夠加快速度,從Pip開始。有誰知道Pip的一個分支將並行安裝軟件包嗎?並行Pip安裝
步驟我已經採取了迄今:
我尋找那些只是做這個收效甚微的一個項目。我確實發現了這個Github Gist:https://gist.github.com/1971720,但結果幾乎與我們單線程的朋友完全一樣。
然後我在Github上找到了Pip項目,並開始查看fork的網絡以查看是否可以找到任何提到正在執行的操作。那裏很混亂。如果必須的話,我會分叉它並嘗試自己並行化,我只是想避免花時間這樣做。
我在ep.io上看到了一個關於ep.io的演講,解釋了他們的部署內容,他們提到並行化pip,發佈.so文件,而不是編譯C和鏡像Pypi,但他們沒有涉及他們如何做或他們用了什麼。
使用虛擬機作爲部署的單元,讓一切都變成OS(Debian的)包是我們做什麼。然後,您可以運行自己的存儲庫,並順利進行增量升級並完成安裝。預先構建OS包是確保您具有可重複安裝的好方法,您可以使它們依賴於非python的東西,如apache或nginx。 –
@ NickCraig-Wood雖然這是一個好主意,但我們人手不足,沒有時間將所有的python包轉換成我們用於.debs的版本。我們已經在KVM上運行了所有的東西。我們只需要儘快部署。 – Kyle
這是一個古老的問題,但現在你可以建立一個pip控制室緩存,大大減少了軟件包的安裝時間。 –