At 10:19 AM 5/29/2010 +0200, Tarek Ziadé wrote:
I was not thinking about this proposal. If this what Guido proposed at
the summit, then I misunderstood.
I don't know what he proposed at the summit - I'm referring to the
bootstrap script he wrote that actually does this. It was a couple
years ago on Python-Dev, IIRC.
The problem with the feature you describe (bootstrap embed in the
archive itself) is that we imply that the packager chooses himself an
installer and forces the end-user to use it when he installs the
software. This means that the end user might end up with several
installers installed for the same Python.
So? It's not like they're going to accidentally run 'easy_install'
when they meant to type 'pip', or vice versa. ;-)
It also implies that the
developer provides a smart setup.py script that embeds that bootstrap,
and runs some code.
Only if they need something beyond what the distutils provide.
It will also allow distributions to be "dumb" envelopes with static
metadata that are the same all the time, no matter which tool created
them, and eventually remove setup.py in favor of statically described
metadata using PEP 345.
For packages with complex build requirements or distutils extensions
(e.g. numpy), this is unlikely to happen any time soon.
Conversely, for packages where this *is* the case, the current
distutils is adequate, and having a bootstrapper that can install
them would be a win.
Today, for instance, if an installer wants to install a distribution
based on setuptools, it has to run the "egg_info" command to extract
the metadata, on the target system.
It's a good thing Guido loaned me the time machine so I could go back
to 2005 and fix that one, then:
http://svn.python.org/view/sandbox/trunk/setuptools/setuptools/command/sdist.py?view=diff&r1=41093&r2=41094
Five years should be long enough ago that by now all the
setuptools-based source distributions on PyPI today will already have
the metadata you need... so when you go back and try again to build
your new installer today, it will already be there for you to
use. Just download any random setuptools-based sdist from PyPI and
run "tar -tzf" or "unzip -v" on it to see!
For that matter, it's long enough ago that you should also have the
fix already retroactively included in Distribute as well, so you
should probably even be able to look at one of Distribute's own
source distributions and see that it now contains the metadata you
require. ;-)
_______________________________________________
Distutils-SIG maillist - [email protected]
http://mail.python.org/mailman/listinfo/distutils-sig