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.
[EMAIL PROTECTED]:~/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:
[EMAIL PROTECTED]:~/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 - [email protected]
> http://mail.python.org/mailman/listinfo/distutils-sig
--
Jim Fulton mailto:[EMAIL PROTECTED] Python
Powered!
CTO (540) 361-1714
http://www.python.org
Zope Corporation http://www.zope.com http://www.zope.org
_______________________________________________
Distutils-SIG maillist - [email protected]
http://mail.python.org/mailman/listinfo/distutils-sig