Oh system Pythons. I can only reproduce this using the ubuntu python-setuptools package. Installing setuptools myself using ez_setup doesn't give this behavior. The Unbuntu python-setuptools package installation is rather odd. It doesn't install setuptools as a normal egg. Rather it installs it in such a way that it shows up as a develop egg. jim@starbase14:~/tmp$ python Python 2.5.1 (r251:54863, May 2 2007, 16:56:35) [GCC 4.1.2 (Ubuntu 4.1.2-0ubuntu4)] on linux2 Type "help", "copyright", "credits" or "license" for more information.
import pkg_resources pkg_resources.working_set.find(pkg_resources.Requirement.parse ('setuptools')) setuptools 0.6c5 (/usr/lib/python2.5/site-packages)
Note that the location of the setuptools egg is site packages.
d = pkg_resources.working_set.find (pkg_resources.Requirement.parse('setuptools')) d.precedence == pkg_resources.DEVELOP_DIST True
So, the Ubuntu packager for setuptools decided not to install setuptools as an actual egg, but as a wonky sort-of develop egg with a less than ideal location. IMO, this is just wrong and broken. Does anyone disagree? I could probably add logic to the bootstrap script to get around this, but I'm not very motivated to do so. I'm inclined to say that if you choose to use this version of setuptools, by using your system Python and a system package of setuptools, then you'll have to live with its limitations. Of course, your system easy_install won't install routs either: jim@starbase14:~/tmp$ sudo easy_install routes Password: Searching for routes Reading http://cheeseshop.python.org/pypi/routes/ Couldn't find index page for 'routes' (maybe misspelled?) Scanning index of all packages (this may take a while) Reading http://cheeseshop.python.org/pypi/ Reading http://cheeseshop.python.org/pypi/Routes/1.7 Reading http://routes.groovie.org/ Best match: Routes 1.7 Downloading http://cheeseshop.python.org/packages/source/R/Routes/ Routes- 1.7.tar.gz#md5=6b8892b8aef7495228376f4e8b6c747b Processing Routes-1.7.tar.gz Running Routes-1.7/setup.py -q bdist_egg --dist-dir /tmp/ easy_install-goT506/Routes-1.7/egg-dist-tmp-fT_EqK The required version of setuptools (>=0.6c6) is not available, and can't be installed while this script is running. Please install a more recent version first. (Currently using setuptools 0.6c5 (/usr/lib/python2.5/site-packages)) error: Setup script exited with 2 The good news is that setuptools can repair itself: sudo easy_install -U setuptools Doing this causes setuptools to upgrade itself to a regular egg-based install. At this point (at least on my system), I can install routes and, when I run buildout, it doesn't create an egg link in the develo- eggs directory. Of course, at that point, you've probably messed up your system packaging I will probably do something about this in the long run though just to avoid the question coming up. Jim On Jul 7, 2007, at 2:07 PM, Graham Stratton wrote:
Hi Jim, thanks for your time.
and nor does running bin/buildout. The result is that the Routes install fails with The required version of setuptools (>=0.6c6) is not available, ...
I tried to reproduce this, but was unable to.
Here's what I did on a clean ubuntu server from the VMWare appliance site:
#Install the system setuptools (0.6c5): $ sudo apt-get install subversion python-setuptools $ svn co svn://svn.zope.org/repos/main/zc.buildout/trunk/bootstrap/ .
$ vi buildout.cfg ***** [buildout] parts = foxtrot
[foxtrot] recipe = zc.recipe.egg interpreter = python2.5 eggs = routes ******
$ python2.5 bootstrap.py
$ ls develop-eggs/ setuptools.egg-link $ cat develop-eggs/setuptools.egg-link /usr/lib/python2.5/site-packages $ ls eggs/ zc.buildout-1.0.0b28-py2.5.egg
$./bin/buildout -v Installing 'zc.buildout', 'setuptools'. We have the best distribution that satisfies 'zc.buildout'. Picked: zc.buildout = 1.0.0b28 We have a develop egg: setuptools 0.6c5 Installing 'zc.recipe.egg'. We have the best distribution that satisfies 'zc.recipe.egg'. Picked: zc.recipe.egg = 1.0.0b6 Uninstalling foxtrot. Installing foxtrot. Installing 'routes'. We have no distributions for routes that satisfies 'routes'. Couldn't find index page for 'routes' (maybe misspelled?) Getting distribution for 'routes'. We have a develop egg: setuptools 0.6c5 Running easy_install: /usr/bin/python2.5 "-c" "from setuptools.command.easy_install import main; main()" "-mUNxd" "/home/notroot/eggs/tmp_IqDV_" "-q" "/tmp/ tmpDtCTlqget_dist/Routes-1.7.tar.gz" path=/usr/lib/python2.5/site-packages
The required version of setuptools (>=0.6c6) is not available, and can't be installed while this script is running. Please install a more recent version first.
(Currently using setuptools 0.6c5 (/usr/lib/python2.5/site-packages)) error: Setup script exited with 2 An error occured when trying to install Routes 1.7.Look above this message for any errors thatwere output by easy_install. While: Installing foxtrot. Getting distribution for 'routes'. Error: Couldn't install: Routes 1.7
I hope that's useful output/input,
Graham _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org http://mail.python.org/mailman/listinfo/distutils-sig
-- Jim Fulton mailto:jim@zope.com Python Powered! CTO (540) 361-1714 http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org