Question

I have installed my Django app with buildout and now I would like to add one more eggs.

But if I just add the egg in my buildout, and launch buildout, it will update all my eggs, which I don't want as I'm not sure it will work well with upgraded versions of other eggs.

I was wondering if there is a way to just add one egg in my app without launching buildout. My app is on shared hosting, so I dont have access to everything.

Was it helpful?

Solution

Just add your new egg to the buildout, and run buildout with -N:

  -N

    Run in non-newest mode.  This is equivalent to the assignment
    buildout:newest=false.  With this setting, buildout will not seek
    new distributions if installed distributions satisfy it's
    requirements.

This means eggs will not be upgraded.

You may want to pin your egg versions; add a [versions] section where you name all your egg versions, and add a versions = versions entry in the [buildout] section. Add newest = false and allow-picked-versions = false as well to enforce the policy and require that all eggs have an entry in the versions section:

[buildout]
# other options
versions = versions
allow-picked-versions = false
newest = false

[versions]
Django = 1.5.5
South = 0.8.2
# etc.

Running with allow-picked-versions = false results in an error every time buildout comes across an egg you did not pin yet; keep adding eggs to the [versions] section until all eggs are pinned.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top