问题
I have added a section in my buildout to install python-ldap as described here:
http://bluedynamics.com/articles/jens/python-ldap-as-egg-with-buildout
However my buildout fails with:
While:
Initializing.
Getting section buildout.
Initializing section buildout.
Getting option buildout:eggs.
Getting section python-ldap.
Initializing section python-ldap.
Installing recipe zc.recipe.egg.
Error: There is a version conflict.
We already have: zc.buildout 1.4.2
but zc.recipe.egg 1.3.2 requires 'zc.buildout>=1.5.0'.
Why is buildout trying to get the latest version of zc.recipe.egg for this particular part even though it is pinned to 1.2.2 in the versions para?
回答1:
I just had the exact same problem, and solved it by uninstalling the python-zc.buildout Debian package which was installed on my machine with version 1.4.3.
回答2:
You can pin any and all eggs (regardless of what they are used for) with a versions
section. You have to explicitly declare such a section, but then it applies to recipe eggs as well:
[buildout]
... # Other options in the buildout section omitted
versions = versions
[versions]
zc.recipe.egg = 1.2.2
You can name the part that specifies version pins any way you want, but most people just name it versions
.
来源:https://stackoverflow.com/questions/6402774/how-to-pin-version-of-recipe-egg-for-a-particular-part