Often to see bad constraint error during buildout when different packages are depending on the same package with different versions. For example, Error: Bad constraint 3.0.14 plone.protect>=3.0.19. Go to the folder where all the downloaded eggs are stored, for example, cd ~/.buildout-cache/eggs. Then use find .|grep requires.txt|xargs grep 3.0.19 in command line for finding which packages are depending on what package with this 3.0.19. More info refer to how do you know which python egg is enforcing a constraint in buildout?.