2010-02-21 3 views
5

Я хочу использовать buildout для управления зависимостями, и я слышу, что распространение - это новый хороший способ управлять установкой вашего проекта.Как мне начать с zc.buildout и Distribute?

Однако, простые учебные пособия, чтобы начать работу, кажутся тонкими на земле. Самый прямой взгляд, который я видел, - это Якоба Каплана-Мосса (мой вариант использования - это веб-приложение), но все еще не очень понятно, что делает каждая часть цепочки, и какие лучшие практики.

Как мне получить этот материал? Я хочу делать все правильно.

ответ

6

Я только что начал документировать всю инструментальную цепочку по адресу http://reinout.vanrees.org/weblog/tags/softwarereleasesseries.html (2010-02-25: все еще нужно написать сборку и статью в виде пасты).

Основная идея toolchain: используйте setuptools для упаковки вашего кода на Python. Как и в статье «разработки django apps», вы указываете: каждое приложение представляет собой собственный пакет. Поместите свой код в каталог и добавьте setup.py. Файл setup.py содержит номер версии, имя, зависимости и т. Д., И вы можете запустить его, например, для создания вашего проекта-0.1.tar.gz.

Загрузка всего («easy_install xyz») быстро делает полный и полный беспорядок в вашей системе python's site_packages. Возможно, с несовместимыми версиями. Buildout (и, например, virtualenv) дает вам изолированную среду: установленные пакеты устанавливаются только локально для этого virtualenv/buildout.

Mess part 2: какие версии вы хотите? Чтобы получить какую-либо меру повторяемости и надежности, вы должны иметь возможность управлять версиями, которые вы используете («Django 1.0 или 1.1?»). Buildout позволяет это.

+0

+1 для ссылки на вашу версию выпуска программного обеспечения. (И продолжайте писать! :)) –

+0

Боковое примечание о различии: virtualenv давайте вам настроить все, как если бы вы были в изолированном env. и работать нормально, не испортив глобальную систему. Buildout устанавливает все локально и изменяет путь к локальным пакетам. Они оба отлично работают. – Liorsion

+0

+1 для документирования. – BenDundee

Смежные вопросы