Buildout vs virtualenv + pip для django?

Плюсы и минусы?

Я лично использую buildout для своих проектов django, но думаю о переходе на virtualenv + pip из-за его простоты.


person Roman Dolgiy    schedule 28.07.2011    source источник


Ответы (1)


По сути, buildout и pip+virtualenv делают то же самое. Они оба используют пакеты Python, устанавливают их, изолируют от остальной части вашей среды Python, обрабатывают зависимости (через setup.py) и так далее.

Buildout делает больше. Что, естественно, означает немного больше настроек, чем с pip. Вам нужно будет выяснить, стоит ли дополнительная конфигурация усилий того, что вы от нее получите.

Некоторые дополнения вы можете получить из buildout с помощью нескольких надстроек («рецептов»):

  • Аддон 'djangorecipe', который настраивает django для вас. Например, нет необходимости в этой переменной среды, которая указывает на ваш файл settings.py. Удобно.

  • Автоматическая настройка cronjob.

  • Создание файлов конфигурации (например, файла Apache для вашего сайта) из шаблона. Использует переменные из вашей конфигурации сборки, поэтому это предотвращает дублирование.

По сути, вы можете выполнить некоторую явную настройку с помощью buildout. Меньше ручных операций.

С другой стороны, вы можете использовать другие инструменты для того дополнительного уровня автоматизации, который вам, вероятно, понадобится. Так что virtualenv+pip+something_else также возможен.

person Reinout van Rees    schedule 29.07.2011
comment
Не могли бы вы рассказать больше об автоматической настройке cronjob. - person Roman Dolgiy; 29.07.2011
comment
Конечно. Посмотрите pypi.python.org/pypi/z3c.recipe.usercrontab для быстрый пример. - person Reinout van Rees; 29.07.2011