Kaydet (Commit) ffa1f279 authored tarafından Nick Coghlan's avatar Nick Coghlan

Bring PEP 453 What's New entry up to date

We changed a few details of the pip integration over the course
of the Python 3.4 beta and release candidate cycle, but I hadn't
updated the What's New entry appropriately.

The Py2/Py3 split on POSIX and the generally challenges of
dealing with parallel installs means we haven't attained
complete consistency across all environments, but hopefully
this updated text is clearer about the end result.

Relevant to issue #20909.
üst 01f21292
...@@ -187,16 +187,23 @@ Bootstrapping pip By Default ...@@ -187,16 +187,23 @@ Bootstrapping pip By Default
The new :mod:`ensurepip` module (defined in :pep:`453`) provides a standard The new :mod:`ensurepip` module (defined in :pep:`453`) provides a standard
cross-platform mechanism to bootstrap the pip installer into Python cross-platform mechanism to bootstrap the pip installer into Python
installations and virtual environments. installations and virtual environments. The version of ``pip`` included
with Python 3.4.0 is ``pip`` 1.5.4, and future 3.4.x maintenance releases
By default, the scripts ``pipX`` and ``pipX.Y`` will be installed (where will update the bundled version to the latest version of ``pip`` that is
X.Y stands for the version of the Python installation), along with the available at the time of creating the release candidate.
``pip`` Python package and its dependencies.
By default, the commands ``pipX`` and ``pipX.Y`` will be installed on all
platforms (where X.Y stands for the version of the Python installation),
along with the ``pip`` Python package and its dependencies. On Windows and
in virtual environments on all platforms, the unversioned ``pip`` command
will also be installed. On other platforms, the system wide unversioned
``pip`` command typically refers to the separately installed Python 2
version.
The :ref:`pyvenv <scripts-pyvenv>` command line utility and the :mod:`venv` The :ref:`pyvenv <scripts-pyvenv>` command line utility and the :mod:`venv`
module make use of the :mod:`ensurepip` module to make ``pip`` readily module make use of the :mod:`ensurepip` module to make ``pip`` readily
available in virtual environments. When using the command line utility, ``pip`` available in virtual environments. When using the command line utility,
is installed by default, while when using the :mod:`venv` module ``pip`` is installed by default, while when using the :mod:`venv` module
:ref:`venv-api` installation of ``pip`` must be requested explicitly. :ref:`venv-api` installation of ``pip`` must be requested explicitly.
For CPython :ref:`source builds on POSIX systems <building-python-on-unix>`, For CPython :ref:`source builds on POSIX systems <building-python-on-unix>`,
...@@ -204,15 +211,31 @@ the ``make install`` and ``make altinstall`` commands bootstrap ``pip`` by ...@@ -204,15 +211,31 @@ the ``make install`` and ``make altinstall`` commands bootstrap ``pip`` by
default. This behaviour can be controlled through configure options, and default. This behaviour can be controlled through configure options, and
overridden through Makefile options. overridden through Makefile options.
On Windows and Mac OS X, the CPython installers now offer the option to On Windows and Mac OS X, the CPython installers now default to installing
install ``pip`` along with CPython itself. ``pip`` along with CPython itself (users may opt out of installing it
during the installation process). Window users will need to opt in to the
automatic ``PATH`` modifications to have ``pip`` available from the command
line by default, otherwise it can still be accessed through the Python
launcher for Windows as ``py -m pip``.
As `discussed in the PEP`__, platform packagers may choose not to install As `discussed in the PEP`__, platform packagers may choose not to install
``pip`` by default, as long as the command ``pip``, when invoked, provides these commands by default, as long as, when invoked, they provide clear and
clear and simple directions on how to install ``pip`` on the platform. simple directions on how to install them on that platform (usually using
the system package manager).
__ http://www.python.org/dev/peps/pep-0453/#recommendations-for-downstream-distributors __ http://www.python.org/dev/peps/pep-0453/#recommendations-for-downstream-distributors
.. note::
To avoid conflicts between parallel Python 2 and Python 3 installations,
only the versioned ``pip3`` and ``pip3.4`` commands are bootstrapped by
default when ``ensurepip`` is invoked directly - the ``--default-pip``
option is needed to also request the unversioned ``pip`` command.
``pyvenv`` and the Windows installer ensure that the unqualified ``pip``
command is made available in those environments, and ``pip`` can always be
invoked via the ``-m`` switch rather than directly to avoid ambiguity on
systems with multiple Python installations.
Documentation Changes Documentation Changes
~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~
...@@ -229,16 +252,6 @@ However, as this migration is currently still incomplete, the legacy ...@@ -229,16 +252,6 @@ However, as this migration is currently still incomplete, the legacy
versions of those guides remaining available as :ref:`install-index` versions of those guides remaining available as :ref:`install-index`
and :ref:`distutils-index`. and :ref:`distutils-index`.
.. note::
To avoid conflicts between parallel Python 2 and Python 3 installations,
only the versioned ``pip3`` and ``pip3.4`` commands are bootstrapped by
default when ``ensurepip`` is invoked directly (including by the CPython
installers). ``pyvenv`` ensures that the unqualified ``pip`` command is
made available in virtual environments, and ``pip`` can always be
invoked via the ``-m`` switch rather than directly to avoid ambiguity on
systems with multiple Python installations.
.. seealso:: .. seealso::
:pep:`453` -- Explicit bootstrapping of pip in Python installations :pep:`453` -- Explicit bootstrapping of pip in Python installations
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment