Reputation: 6893
I'm trying to work around the distribute/setuptools re-merge by updating my buildout-based project to use the latest bootstrap.py script. When I run it from a clean checkout of a project I get the following error because I have zc.buildout 1.7.0 installed globally. I thought the purpose of bootstrap.py
was to install the required buildout, etc?
What am I missing here?
$ python --version
Python 2.7.5
$ python bootstrap.py
Traceback (most recent call last):
File "bootstrap.py", line 159, in <module>
ws.require(requirement)
File "build/bdist.macosx-10.8-x86_64/egg/pkg_resources.py", line 673, in require
File "build/bdist.macosx-10.8-x86_64/egg/pkg_resources.py", line 580, in resolve
pkg_resources.VersionConflict: (zc.buildout 1.7.0 (/usr/local/lib/python2.7/site-packages/zc.buildout-1.7.0-py2.7.egg), Requirement.parse('zc.buildout==2.2.1'))
Here is some relevant parts of my buildout.cfg if it matters
[buildout]
extensions = mr.developer
include-site-packages = false
show-picked-versions = true
parts =
python
gae_sdk
gae_tools
app_lib
nosetests
[versions]
zc.buildout=1.7.1
zc.recipe.egg=1.3.2
setuptools=1.3.2
Upvotes: 3
Views: 948
Reputation: 1122072
You'll need to tell bootstrap what version to pick, explicitly:
python bootstrap.py -v 1.7.1
to match the version named in your buildout.cfg
. Bootstrap does not look in buildout.cfg
to honour version pins; you'd have to re-implement a large chunk of buildout itself to be able to parse the full configuration format (including includes).
Upvotes: 3