Я хочу использовать buildout для управления зависимостью, и я слышу, распределяют, новый хороший способ управлять установкой Вашего проекта.
Однако легкие учебные руководства для начала работы, кажется, редко встречаются. Самой прямой, которую я видел, является Разработка Jacob Kaplan-Moss приложения Django с zc.buildout (мой вариант использования является веб-приложением), но это все еще не очень ясно относительно того, что каждая часть цепочки делает, и каковы лучшие практики.
Как я начинаю на этом материале? Я хочу сделать вещи правильно.
Я только что начал документировать весь инструментарий на http://reinout.vanrees.org/weblog/tags/softwarereleasesseries.html (2010-02-25: еще предстоит написать статью о buildout и pastescript).
Основная идея инструментария: использовать setuptools для упаковки вашего python-кода. Как в статье "Разработка приложений django", которую вы упомянули: каждое приложение - это отдельный пакет. Поместите ваш код в каталог и добавьте setup.py. Setup.py содержит номер версии, имя, зависимости и так далее, и вы можете запустить его, чтобы создать, например, yourproject-0.1.tar.gz.
Загрузка всего ("easy_install xyz") быстро приводит к полному и окончательному беспорядку в вашей системе python's site_packages. Возможно, с несовместимыми версиями. Buildout (и, например, virtualenv) дают вам изолированную среду: установленные пакеты устанавливаются только локально в этом virtualenv/buildout.
Сообщение часть 2: какие версии вам нужны? Чтобы получить хоть какую-то меру повторяемости и надежности, вы должны иметь возможность контролировать используемые версии ("Django 1.0 или 1.1?"). Buildout позволяет это сделать.
Здесь применяются те же аргументы, что и для вопроса Существует ли MD5 фиксированная точка? То есть для случайно выбранной функции она составляет около 63%.
-121--3176577-И еще один: http://blogs.jfrog.org/2009/05/maven-and-javafx-story-of-twitterfx-pom.html
-121--2609901-Вы, вероятно, уже нашли его, но уже проверили веб-сайт сборки ?