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. :)