Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Buildout vs virtualenv + pip for django?

Pros and cons?

I'm personally using buildout for my django projects but thinking of switching to virtualenv + pip for its simplicity.

like image 710
Roman Dolgiy Avatar asked Jul 28 '11 21:07

Roman Dolgiy


1 Answers

At the core, buildout and pip+virtualenv do the same. They both use python packages, install them, isolate them from the rest of your python environment, handle dependencies (through setup.py) and so on.

Buildout does more. Which, naturally, means a bit more configuration than with pip. You'll have to figure out whether the extra configuration is worth the effort for what you get back from it.

Some of the extras you can get out of buildout with a couple of add-ons ("recipes"):

  • The 'djangorecipe' addon that sets up django for you. No need for that environment variable that points at your settings.py file, for instance. Handy.

  • Automatically setting up a cronjob.

  • Generating config files (like an apache one for your site) from a template. Uses variables from your buildout config, so this prevents duplication.

Basically, you can get some explicit configuration done with buildout. Fewer manual steps.

On the other hand, you can use other tools for that extra level of automation that you probably need. So virtualenv+pip+something_else is also a possibility.

like image 150
Reinout van Rees Avatar answered Oct 31 '22 23:10

Reinout van Rees