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.
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.