我對目前部署Python代碼的方式感到不滿意,我想知道是否有更好的方法。首先,我會解釋我在做什麼,然後弊端:如何分配和部署具有依賴關係隔離的Python 3代碼
- 當我發展,我使用的virtualenv做扶養隔離和使用PIP安裝的所有庫。 Python本身來自於我的OS(Ubuntu的)
- 然後,我建我的代碼爲「.deb文件」 Debian軟件包,包括我的源樹和我的依賴關係
- 畫中畫束然後,當我部署,我重建的virtualenv環境,源富/斌/啓動,然後運行我的程序(在Ubuntu的暴發戶)
這裏有問題:
- 畫中畫束是相當大的,並顯著增加了Debian軟件包的大小。這並不太大,但是很煩人。
- 我每次部署時都必須構建所有的C庫(PyMongo,BCrypt等)。這需要一點時間(幾分鐘),這是一個有點跛做這個CPU綁定工作在生產
這裏是我的約束:
- 必須對Python 3的優選爲3.2 工作
- 必須有依賴性隔離
- 必須與使用C(像PyMongo)
我聽說過冷凍庫的東西的工作,但我還沒有蜜蜂能夠得到這個工作。 pypi的cx_freeze似乎沒有編譯(至少在我的Python上)。其他凍結實用程序似乎不適用於Python 3.我怎樣才能更好地做到這一點?
庫這是自動化 - 自動化不是我的問題。我的問題是速度很慢,需要編譯生產 –
你看過「輪子」分發包嗎? – sureshvv
車輪現在處於對這類問題有用的地步 –