我是一个团队的成员,该团队即将推出一个基于 python(特别是 Django)的网站和配套的后端工具套件的 beta 版。在过去的几周里,团队本身的规模从 2 倍增加到 4 倍,我们预计至少在接下来的几个月里会继续增长。开始困扰我们的一个问题是让每个人都加快速度,以配置他们的开发环境并安装所有正确的鸡蛋等。
我正在寻找简化此过程并使其不易出错的方法。zc.buildout 和 virtualenv 看起来都是解决这个问题的好工具,但似乎都主要集中在 python 特定的问题上。我们有几个其他语言的小子项目(特别是 Java 和 Ruby)以及许多必须本地编译的 python 扩展(lxml、MySQL 驱动程序等)。事实上,我们这边最大的难题之一就是让其中一些扩展针对共享库的适当版本进行编译,以避免段错误、malloc 错误和各种类似问题。在 4 个人中,我们有 4 个不同的开发环境——1 leopard on ppc,1 leopard on intel,1 ubuntu 和 1 windows,这并没有帮助。
最终,从 dos/unix 提示符下,理想的工作方式大致如下:
$ git clone [repository url] ... $ python setup-env.py ...
然后做 zc.buildout/virtualenv 所做的事情(复制/符号链接 python 解释器,提供一个干净的空间来安装鸡蛋)然后安装所有必需的鸡蛋,包括安装任何本机共享库依赖项,安装 ruby 项目、java 项目等.
显然,这对于建立开发环境以及在登台/生产服务器上部署都是有用的。
理想情况下,我希望完成此任务的工具可以通过 python 编写/扩展,因为那是(并且永远是)我们团队的通用语言,但我对其他语言的解决方案持开放态度。
因此,我的问题是:是否有人对更好的替代方案有任何建议,或者他们可以使用其中一种解决方案来分享更大/更广泛的安装基础的经验?