On 03-11-14 10:22, Reinout van Rees wrote:
Turns out the `env.best_match(req, ws)` fails on anything that is
installed globally with a version that doesn't match the one we want.

In my colleague's case, he has nose 1.3.1 installed globally.
Buildout has a pin on 1.3.4.
env.best_match() returns a VersionConflict.

So it seems we should ignore that too.

I'm on to something.

The `env.best_match()` works based on the working set. So: why is the working set filled with all the system stuff? Normally the working set starts out empty!

I did a bit of extra logging and found out that buildout extensions and buildout recipes get installed with a system-wide working set. Regular requirements are installed based on a n empty working set.


The problem I'm seeing is with pbp.recipe.noserunner (ancient, but handy). This has a dependency on "nose" which it finds globally with a wrong version.

The other problem is with collective.recipe.sphinxbuilder, which depends on jinja2 which is installed globally in some cases ("I need ansible installed globally").


=> Why does the buildout install and the extension/recipe install start out with a full-blown working set? It might be a left-over from the time when we used the globally installed setuptools. The newest bootstraps make this unnecessary, right?


Reinout

--
Reinout van Rees                          http://reinout.vanrees.org/
[email protected]                   http://www.nelen-schuurmans.nl/
"Learning history by destroying artifacts is a time-honored atrocity"
_______________________________________________
Distutils-SIG maillist  -  [email protected]
https://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to