如果你曾经是java开发者并开始写python,那么你一定十分怀念maven的依赖管理和自动构建功能。你可能已经接触过easy_install, pip, virtualenv等工具,但这些工具并不能完全解决问题。而zc.buildout恰好是你需要的答案。buildout不但能够像setuptools一样自动更新或下载安装依赖包,而且还能够像virtualenv一样,构建一个封闭的开发环境。
zc.buildout是一个基于python的构建(build)系统,通过一个配置文件,可以从多个部分创建、组装并部署你的应用,即使应用包含了非python的组成部分,buildout也能够胜任。
buildout最早由Zope团队的Jim Fulton创建,后来被很多python项目和社区使用并获得了极高的评价。比如Django的创建者Jacob Kaplan-Moss评价说,buildout是部署应用的一种非常文明的方式。另一个比较夸张的评价来自《Python For Unix and Linux》的合著者Noah Gift,由于xxx的原因(你懂的)就不翻译了,原文如下:
"While not directly aiming to solve world peace, it perhaps will play a role in the future, as people will be less angry about application deployment and will have more time for making love and music." 使用zc.buildout创建项目
使用zc.buildout创建项目非常容易。首先安装zc.buildout(可以使用easy_install或pip),
然后在项目文件夹中运行buildout init: