For instance the following is built with bin/buildout -Nvv
...
Getting required 'grokcore.component>=2.5'
required by five.grok 1.3.2.
required by grokcore.viewlet 1.11.
Picked: grokcore.component = 2.5
Getting required 'grokcore.annotation'
required by five.grok 1.3.2.
Picked: grokcore.annotation = 1.3
The constraint, 0.4, is not consistent with the requirement, 'five.localsitemanager>2.0dev'.
While:
Installing instance.
Error: Bad constraint 0.4 five.localsitemanager>2.0dev
The constraint five.localsitemanager>2.0dev
does not seem to be enforced by grokcore.annotation (see https://github.com/zopefoundation/grokcore.annotation/blob/master/setup.py) But how do I find out which egg is actually enforcing this?
I know this is a very old question, but I had the same problem yesterday and my colleague found a way to solve the problem. So I thought I might as well post it here.
All your buildout eggs are either in an
eggs
folder in your project or in a.buildout
folder in your home folder, including development eggs. In each egg you'll find arequires.txt
file with the requirements for the egg. This means you can do a find/grep on the.buildout/eggs
folder for the specific constraint to find out which package is enforcing it.So in your case I would suggest you go to the eggs directory (in my case
~/.buildout/eggs
) and then do:That should find the egg that's enforcing the constraint.
In my case I was upgrading to Django 1.7 and there was one package with the constraint
'Django >= 1.4, < 1.7'
. So executingfind .|grep requires.txt|xargs grep 1.7
found the problematic egg.