Я только что начал документировать всю цепочку инструментов на http://reinout.vanrees.org/weblog/tags/softwarereleasesseries.html (2010-02-25: все еще нужно написать сборку и статью в pastescript).
Основная идея toolchain: используйте setuptools для упаковки вашего кода на python. Как и в статье «Разработка django-приложений», о которой вы упомянули: каждое приложение имеет свой собственный пакет. Поместите свой код в каталог и добавьте файл setup.py. Setup.py содержит номер версии, имя, зависимости и так далее, и вы можете запустить его, например, для создания вашего проекта-0.1.tar.gz.
Загрузка всего ("easy_install xyz") быстро вносит полный беспорядок в site_packages вашей системы python. Вероятно, с несовместимыми версиями. Buildout (и, например, virtualenv) предоставляет вам изолированную среду: установленные пакеты устанавливаются только локально для этого virtualenv / buildout.
Беспорядок часть 2: какие версии вы хотите? Чтобы получить какую-либо меру повторяемости и надежности, вы должны иметь возможность контролировать используемые вами версии («Django 1.0 или 1.1?»). Buildout позволяет это.