[Distutils] PEP 439 and pip bootstrap updated

Donald Stufft donald at stufft.io
Wed Jul 10 05:20:38 CEST 2013


On Jul 9, 2013, at 11:16 PM, Richard Jones <r1chardj0n3s at gmail.com> wrote:

> [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)

doesn't "PyEnv" which is bundled with Python 3.3+ replace virtualenv? What's the purpose of including virtualenv in the bootstrap? http://www.python.org/dev/peps/pep-0405/

> - 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 at python.org
> http://mail.python.org/mailman/listinfo/distutils-sig


-----------------
Donald Stufft
PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20130709/8932bc6b/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 841 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20130709/8932bc6b/attachment.pgp>


More information about the Distutils-SIG mailing list