From 68790662fc8ddb775dfadb199346be4984c91907 Mon Sep 17 00:00:00 2001 From: R David Murray Date: Mon, 23 Dec 2013 11:17:51 -0500 Subject: [PATCH] Add pep 435 summary entry in new required features, and ensurepip description. Also added a note about platform packagers not being required to install pip by default, if they provide an appropriate pip hook, to the PEP description section. --- Doc/whatsnew/3.4.rst | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/Doc/whatsnew/3.4.rst b/Doc/whatsnew/3.4.rst index 48b46f6091..cfbff37597 100644 --- a/Doc/whatsnew/3.4.rst +++ b/Doc/whatsnew/3.4.rst @@ -90,6 +90,7 @@ New syntax features: New expected features for Python implementations: +* :ref:`pip should always be "available" ` (:pep:`453`). * :ref:`Make newly created file descriptors non-inheritable ` (:pep:`446`). * command line option for :ref:`isolated mode `, @@ -146,6 +147,8 @@ sections on deprecations and porting issues. New expected features for Python implementations ================================================ +.. _whatsnew-pep-453: + PEP 453: Explicit bootstrapping of pip in Python installations -------------------------------------------------------------- @@ -166,6 +169,12 @@ Makefile options. On Windows and Mac OS X, the CPython installers now offer the option to install ``pip`` along with CPython itself. +As `discussed in the PEP`__, platform packagers may choose not to install +``pip`` by default, as long as the command ``pip``, when invoked, provides +clear and simple directions on how to install ``pip`` on the platform. + +__ http://www.python.org/dev/peps/pep-0453/#recommendations-for-downstream-distributors + .. note:: The implementation of PEP 453 is still a work in progress. Refer to @@ -346,6 +355,31 @@ For Python 3.4, this module is considered a :term:`provisional API`. :pep:`3156` - Asynchronous IO Support Rebooted: the "asyncio" Module PEP written and implementation led by Guido van Rossum. + +.. _whatsnew-ensurepip + +ensurepip +--------- + +The new :mod:`ensurepip` module is the primary infrastructure for the +:pep:`453` implementation. In the normal course of events end users will not +need to interact with this module, but it can be used to manually bootstrap +``pip`` if the automated bootstrapping into an installation or virtual +environment was declined. + +:mod:`ensurepip` includes a bundled copy of ``pip``, up-to-date as of the first +release candidate of the release of CPython with which it ships (this applies +to both maintenance releases and feature releases). ``ensurepip`` does not +access the internet. (If the installation has Internet access, it is of course +possible to upgrade ``pip`` to a release more recent than the bundled ``pip`` +by using the bundled ``pip`` command itself once it is installed.) + +The module is named *ensure*\ pip because if called when ``pip`` is already +installed, it does nothing. It also has an ``--upgrade`` option that will +cause it to install the bundled copy of ``pip`` if the existing installed +version of ``pip`` is older than the bundled copy. + + enum ---- -- 2.40.0