Buildout vs virtualenv + pip для django?

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

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

Ответ 1

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

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

Некоторые из дополнительных функций вы можете получить из сборки с помощью нескольких дополнений ( "recipes" ):

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

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

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

В принципе, вы можете получить определенную конфигурацию , выполненную с помощью buildout. Меньшее количество шагов в ручном режиме.

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