At 11:00 AM 9/21/2006 +1000, John Machin wrote:
>On 21/09/2006 10:04 AM, Phillip J. Eby wrote:
>>At 03:07 PM 9/16/2006 +1000, John Machin wrote:
>>>I tried to use 2.5c1 to run ez_setup.py; it looked in the cheeseshop,
>>>but terminated rather ungracefully with an HTTP 404 error.
>>0.6c3 is in the Cheeseshop now, with support for Python 2.5.
>
>Thanks, Phillip. I've got it now, but needed to get over another hurdle,
>which was that ez_setup.py contains hard-coded egg names and md5
>checksums, and thus seems to need to be fetched (manually, not exactly
>"ez") from your website each time the world changes.
>
>Using the old version of ez_setup (which I had used successfully to get
>setuptools for python 2.4 & 2.3), the command
> \python25\python ez_setup.py
>gave HTTP error 404.
>
>Shouldn't it just find the latest 2.5-compatible egg in the Cheeseshop?
That would be nice. However, it's actually getting to the point where we
should probably just distribute RPMs, bdist_wininst, and other installers
for the thing. I am tempted, however, to make ez_setup.py a little smarter
in future.
Unfortunately, the smarter it gets, the more it doesn't know. That is, the
more sophisticated that ez_setup.py gets, the more things that can go wrong.
Thus, I'm more inclined to make it *dumber* in future, not smarter. On
Unix platforms, with Python 2.4 and up, one could do something like:
PYTHONPATH=setuptools*.egg python -m easy_install -a setuptools*.egg
And it would self-install. So, under 2.4+ and Mac/Linux/etc., there'd be
no need for ez_setup.py. For Windows, I could go back to distributing a
bdist_wininst version. For Python 2.3 on Unix, alas, a more eclectic
initial command is required:
PYTHONPATH=setuptools*.egg python -c "from easy_install import main;
main()" -a setuptools*.egg
And that would be the end of ez_setup.py for normal users. And the
ez_setup that gets bundled with setuptools-based packages could just tell
the user to go download the egg or .exe from the CheeseShop.
Hmm. You know, I could probably stick a little /bin/sh script on the front
of the eggs to allow them to be run from Unix, almost as if they were shell
archives. You would just run something like:
sh setuptools-0.6c4-py2.3.egg
in order to install it on Unix. Then, I'd effectively have a universal
installer for non-Windows platforms, and an .exe installer for Windows. (I
could also start releasing source RPMs for setuptools as well.) And
ez_setup.py would go back to being a packager-only tool.
This would be a lot of documentation change, but it might well be worth it.
>Shouldn't it be a little more helpful than "404" if it can't find a
>suitable egg?
Patches are welcome, unless I first rip out ez_setup.py altogether in a fit
of pique. :)
_______________________________________________
Distutils-SIG maillist - [email protected]
http://mail.python.org/mailman/listinfo/distutils-sig