2010-02-21 58 views
5

我想使用構建依賴管理,我聽說分佈是管理項目安裝的新方法。如何開始使用zc.buildout並分發?

但是,簡單入門的教程似乎很薄弱。我見過的最直截了當的是Jacob Kaplan-Moss的Developing Django apps with zc.buildout(我的使用案例是一個Web應用程序),但對於連鎖店的每一部分都做了什麼,以及最佳實踐是什麼,仍然不是很清楚。

我該如何處理這些東西?我想做正確的事情。

回答

6

我剛剛開始記錄整個工具鏈http://reinout.vanrees.org/weblog/tags/softwarereleasesseries.html(2010-02-25:仍需編寫構建和pastescript文章)。

基本的工具鏈思想:使用setuptools打包你的python代碼。就像您提到的「開發django應用程序」文章一樣:每個應用程序都是它自己的軟件包。把你的代碼放在一個目錄中並添加一個setup.py。 setup.py包含版本號,名稱,依賴關係等,您可以運行它來創建一個yourproject-0.1.tar.gz,例如。

下載所有東西(「easy_install xyz」)很快就會讓你的系統python的site_packages變得一團糟。可能與不兼容的版本。構建(例如virtualenv)爲您提供了一個獨立的環境:已安裝的軟件包僅安裝在該virtualenv/buildout的本地。

亂碼第2部分:你想要哪些版本?要獲得可重複性和可靠性的任何衡量標準,您必須能夠控制您使用的版本(「Django 1.0或1.1?」)。建立允許。

+0

+1鏈接到您的軟件發佈系列。 (並繼續寫作!:)) – 2010-02-26 12:10:04

+0

關於差異的一個側面說明:virtualenv讓我們設置一切,就好像你在一個孤立的環境中一樣。並且正常工作而不會搞亂全球系統。 Buildout在本地安裝所有內容,並將路徑更改爲本地軟件包。他們都很好。 – Liorsion 2011-03-10 18:51:25

+0

+1用於記錄。 – BenDundee 2013-07-18 15:40:01