[Distutils] pip vs easy_install vs distutils2
pje at telecommunity.com
Sat May 29 18:32:17 CEST 2010
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:
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
More information about the Distutils-SIG