[firstly, my apologies for posting the announcement yesterday of the pip
bootstrap implementation and PEP updates to the pypa-dev list instead of
distutils-sig... I blame PyCon AU exhaustion :-)]

Firstly, I've just made some additional changes to PEP 439 to include:

- installing virtualenv as well (so now pip, setuptools and virtualenv are
installed)
- mention the possibility of inclusion in a future Python 2.7 release
- clarify the SSL certificate situation

The bootstrap code has also been updated to:

- not run the full pip command if it's "pip3 install setuptools" or either
of the other two packages it has just installed (thus preventing a possibly
confusing message to the user)
- also install virtualenv

The intention is that the pip, setuptools and actually all Python projects
will promote a single bootstrap process:

    "pip3 install setuptools" or "pip3 install Django"

And then there's instructions for getting "pip" if it's not installed.
Exact wording etc. to be determined :-)

The original message I sent to pypa-dev yesterday is below:

The bootstrap that I wrote at the PyCon AU sprints to implement PEP 439 has
been added to pypa on bitbucket:

https://bitbucket.org/pypa/bootstrap

I've also updated the PEP with the following changes:

- mention current plans for HTTPS cert verification in Python 3.4+ (sans
PEP reference for now)
- remove setuptools note; setuptools will now be installed
- mention bootstrapping target (user vs. system) and command-line options
- mention python 2.6+ bootstrap possibility
- remove consideration of support for unnecessary installation options
(beyond -i/--index-url)
- mention having pip default to --user when itself installed in ~/.local

What the last item alludes to is the idea that it'd be nice if pip
installed in ~/.local would default to installing packages also in ~/.local
as though the --user switch had been provided. Otherwise the user needs to
remember it every time they install a package.

Note that the bootstrapping uses two different flags to control where the
pip implementation is installed: --bootstrap and --bootstrap-system (these
were chosen to encourage user installs). It would be ideal if pip could
support those flags, as the pip3 command currently must remove them before
invoking pip main.

Once we're happy with the shape of pip3 we can fork it to Python 2 and use
it as the canonical bootstrap script for installing pip and setuptools. I
think we should also consider installing virtualenv in Python 2...

Happy to clarify where needed and code review is welcome. It's been a
looong four days here :-)


     Richard
_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to