如何开始使用zc.buildout和Distribute?

5 投票
2 回答
769 浏览
提问于 2025-04-15 19:32

我想用buildout来管理项目的依赖关系,听说distribute是管理项目安装的新方法。

不过,网上好像没有很多简单易懂的教程。到目前为止,我看到的最简单的教程是Jacob Kaplan-Moss写的用zc.buildout开发Django应用(我想做的是一个网页应用),但里面对每个环节的作用和最佳实践讲得还是不够清楚。

我该怎么开始呢?我想把事情做好。

2 个回答

0

你可能已经找到了,但你有没有去看看这个buildout网站呢?

6

我刚开始记录整个工具链的相关内容,可以在这个链接找到:http://reinout.vanrees.org/weblog/tags/softwarereleasesseries.html(2010年2月25日:还需要写关于buildout和pastescript的文章)。

工具链的基本概念是:使用setuptools来打包你的Python代码。就像你提到的“开发Django应用”的文章一样:每个应用都是一个独立的包。你只需要把代码放在一个文件夹里,然后添加一个setup.py文件。这个setup.py文件里包含了版本号、名称、依赖项等等,你可以运行它来创建一个像yourproject-0.1.tar.gz这样的文件。

如果你通过“easy_install xyz”来下载所有东西,会让你的系统Python的site_packages变得一团糟,可能还会出现不兼容的版本。使用Buildout(比如说virtualenv)可以给你一个独立的环境:安装的包只会在那个virtualenv/buildout里有效。

混乱的第二部分:你想要哪个版本?为了确保你使用的版本是可重复和可靠的,你需要能够控制你使用的版本(“Django 1.0还是1.1?”)。Buildout可以做到这一点。

撰写回答