Marius Gedminas schreef op 17-12-14 10:14:
The variety of errors has decreased somewhat. Most of the builds fail with
Error: Couldn't find a distribution for 'zc.recipe.egg<2dev,==1.3.0,>1.3.0'.
I wondered about this one. Grepping in my eggs directory in */EGG-INFO/requires.txt for zc.recipe.egg I only find z3c.recipe.scripts 1.0.1 that has 'zc.recipe.egg >=1.3.0'. I wonder if somehow this wrongly gets split into the contradicting '==1.3.0,>1.3.0'. Trying it locally for such a failing build (zope.traversing before I pinned setuptools), I see that zc.buildout 1.7.1 is used, which has this in buildout.py: self.versions = { 'zc.recipe.egg': '<2dev', 'zc.recipe.testrunner': '<2dev', } So that is where the '<2dev' comes from. zc/buildout/easy_install.py then has an install method, which combines the version restriction with the requirement in this call: _constrained_requirement_constraint( '<2dev', Requirement.parse('zc.recipe.egg>=1.3.0')) The result of that call is: '<2dev,>1.3.0,==1.3.0' This is silly but it works fine for setuptools before version 8. With setuptools 8 it fails to find any distributions that match this specifier. This stuff was fixed in zc.buildout 2.3.0 with this commit: https://github.com/buildout/buildout/commit/dc32780e7320caed5baf87e2068f693b... BTW, note that pinning zc.recipe.egg in a buildout config would help here. _constrained_requirement_constraint('==1.3.2', requirement) has as result '==1.3.2'. I also wondered why zc.buildout was not getting upgraded. Of course first the current bootstrap.py gets zc.buildout<2dev, so you get zc.buildout 1.7.1. Then when running buildout it calls _maybe_upgrade and this has a check to prevent upgrading to 2.x unless a specific version is requested. So: some puzzles (for me at least) solved. Going forward, it would be nice to either backport the mentioned commit to zc.buildout 1.x (not going to happen I guess) or have an updated bootstrap.py for 1.x that restricts setuptools<8dev. But as said earlier, for projects that do not require zc.buildout 1.x, the latest bootstrap from https://bootstrap.pypa.io should be fine. -- Maurits van Rees: http://maurits.vanrees.org/ Zest Software: http://zestsoftware.nl