How to have a buildout config that extends another buildout config

Buildout is a pretty useful tool, but the documentation is somewhat lacking. I needed to have specialized buildouts for dev and staging that extend a more general buildout. I couldn’t find this in the buildout docs, but I found it here.

In my case, I needed a buildout for staging that omits software that we already have installed via RPMs. Luckily it’s possible:

$ cat staging.cfg 
[buildout]
extends = buildout.cfg
eggs -=
    pyodbc==2.1.8
    psycopg2==2.4
    coverage>=3.4

As you might guess, += and = also work and do what you’d expect.

Leave a Reply

Your email address will not be published. Required fields are marked *