[Distutils] pip vs easy_install vs distutils2

Lennart Regebro regebro at gmail.com
Sat May 29 19:18:05 CEST 2010

I'm not sure I understand this thread, mainly because I though
distutils2 was to provide an installer. :) So with the risk of me not
understanding it, here goes:

I think both proposals, both the older bootstrap script and the summit
proposal, is to make it easy to install an installer, which in
practice means easy_install or pip. This is only necessary if we don't
have a full installer in stdlib. I can see a couple of options:

0. We have a pyinstall script that runs pip *or* easy_install,
depending on which one you choose when you first run it. I believe
this is a bad idea, and will just create great amounts of confusion.

1. We include easy_install or pip in stdlib. However, I think we
shouldn't include any installer in stdlib, until it has evolved into a
proper package handling utility which also can uninstall, etc.

2. We include a pyinstall script that downloads from PyPI and runs
setup.py install. This will cover 90% of install needs, for more
advanced installers, you need to pyinstall pip or similar. This means
that we end up with one more way to install, which isn't a disaster,
but isn't really helping the situation. Also, the objection to
including installers but not uninstallers are still relevant even
though this is a super simplistic script that could be argues isn't
really an installer at all.

3. We include a pypiget script, that will download a file from PyPI
but *not* install it. That  wouldn't create a one step install
process, but it would speed up and simplify the install process
without sacrificing flexibility. It also isn't an installer, so nobody
can expect of require an uninstaller. But on the other hand, it's not
exactly  a massive helper. :-)

4. Write a proper installer/uninstaller and include that in stdlib. I
suggest that it's call "pypi" and have commands like
download/install/uninstall/upgrade. I'm not sure how much it needs to
be based on/integrated with distutils2, as I don't know what the plans
are for uninstaller support. Other than that it would pretty much only
need to know how to download and run setup.py on packages, so I'm not
sure it needs to be powered by distutils2 in any deeper sense. :-)

Sorry if I'm answering something that wasn't a question. :-)

Lennart Regebro: Python, Zope, Plone, Grok
+33 661 58 14 64

More information about the Distutils-SIG mailing list