PEP 453 updates
- remove proposal to change the script installation directory on Windows due to the backwards incompatility issues pointed out by Paul Moore - include an explicit requirement to resolve the requests certificate management issues prior to beta 2 - cleaner formatting of the integration timeline
This commit is contained in:
parent
a4ec9acf45
commit
e83a58638e
81
pep-0453.txt
81
pep-0453.txt
|
@ -344,6 +344,11 @@ Only users that choose to use ``pip`` to communicate with PyPI will
|
|||
need to pay attention to the additional security considerations that come
|
||||
with doing so.
|
||||
|
||||
However, the core CPython team will also assist with reviewing and
|
||||
resolving the `certificate update management issue
|
||||
<https://github.com/kennethreitz/requests/issues/1659>`__ currently
|
||||
affecting the ``requests`` project (and hence ``pip``) [#cert-verification]_.
|
||||
|
||||
|
||||
Reliability considerations
|
||||
--------------------------
|
||||
|
@ -408,44 +413,49 @@ Integration timeline
|
|||
If this PEP is accepted, the proposed time frame for integration of ``pip``
|
||||
into the CPython release is as follows:
|
||||
|
||||
* as soon as possible
|
||||
* as soon as possible after the release of 3.4.0 alpha 4
|
||||
|
||||
Documentation updated and ``ensurepip`` implemented based on a pre-release
|
||||
version of ``pip`` 1.5.
|
||||
* Documentation updated and ``ensurepip`` implemented based on a
|
||||
pre-release version of ``pip`` 1.5.
|
||||
|
||||
All other proposed functional changes for Python 3.4 implemented,
|
||||
* All other proposed functional changes for Python 3.4 implemented,
|
||||
including the installer updates to invoke ``ensurepip``.
|
||||
|
||||
* by November 20th (3 days prior to the scheduled date of 3.4.0 beta 1)
|
||||
|
||||
``ensurepip`` updated to use a beta release of ``pip`` 1.5.
|
||||
* ``ensurepip`` updated to use a ``pip`` 1.5 release candidate.
|
||||
|
||||
PEP 101 updated to cover ensuring the bundled version of ``pip`` is up
|
||||
* PEP 101 updated to cover ensuring the bundled version of ``pip`` is up
|
||||
to date.
|
||||
|
||||
* by November 24th (scheduled date of 3.4.0 beta 1)
|
||||
|
||||
As with any other new feature, all proposed functional changes for
|
||||
* As with any other new feature, all proposed functional changes for
|
||||
Python 3.4 must be implemented prior to the beta feature freeze.
|
||||
|
||||
* by December 29th (1 week prior to the scheduled date of 3.4.0 beta 2)
|
||||
|
||||
``ensurepip`` updated to the final release of pip 1.5
|
||||
* ``requests`` certificate management issue resolved
|
||||
* ``ensurepip`` updated to the final release of ``pip`` 1.5, or a
|
||||
subsequent maintenance release (including a suitably updated vendored
|
||||
copy of ``requests``)
|
||||
|
||||
(See PEP 429 for the current official scheduled dates of each release. Dates
|
||||
listed above are accurate as of October 15th.)
|
||||
listed above are accurate as of October 20th, 2013.)
|
||||
|
||||
If there is no final release of ``pip`` 1.5 available by one week before the
|
||||
scheduled Python 3.4 beta 2 release, then implementation of this PEP will
|
||||
be deferred to Python 3.5. Note that this scenario is unlikely - the
|
||||
tentative date for the ``pip`` 1.5 release is currently December 1st.
|
||||
If there is no final or maintenance release of ``pip`` 1.5 with a suitable
|
||||
updated version of ``requests`` available by one week before the scheduled
|
||||
Python 3.4 beta 2 release, then implementation of this PEP will
|
||||
be deferred to Python 3.5. Note that this scenario is considered unlikely -
|
||||
the tentative date for the ``pip`` 1.5 release is currently December 1st.
|
||||
|
||||
In future CPython releases, this kind of coordinated scheduling shouldn't be
|
||||
needed: the CPython release manager will be able to just update to the latest
|
||||
released version of ``pip``. However, in this case, some fixes are needed in
|
||||
``pip`` in order to allow the bundling to work correctly, so the ``pip`` 1.5
|
||||
release cycle needs to be properly aligned with the CPython 3.4 beta
|
||||
releases.
|
||||
``pip`` in order to allow the bundling to work correctly, and the
|
||||
certificate update mechanism for ``requests`` needs to be improved, so the
|
||||
``pip`` 1.5 release cycle needs to be properly aligned with the CPython 3.4
|
||||
beta releases.
|
||||
|
||||
|
||||
Proposed CLI
|
||||
|
@ -688,20 +698,16 @@ Script Execution on Windows
|
|||
|
||||
While the Windows installer was updated in Python 3.3 to optionally
|
||||
make ``python`` available on the PATH, no such change was made to
|
||||
include the Scripts directory. Independently of this PEP, a proposal has
|
||||
also been made to rename the ``Tools\Scripts`` subdirectory to ``bin`` in
|
||||
order to improve consistency with the typical script installation directory
|
||||
names on \*nix systems.
|
||||
include the script installation directory returned by
|
||||
``sysconfig.get_path("scripts")``.
|
||||
|
||||
Accordingly, in addition to adding the option to extract and install ``pip``
|
||||
during installation, this PEP proposes that the Windows installer (and
|
||||
``sysconfig``) in Python 3.4 and later be updated to:
|
||||
during installation, this PEP proposes that the Windows installer in
|
||||
Python 3.4 and later be updated to also add the path returned by
|
||||
``sysconfig.get_path("scripts")`` to the Windows PATH when the PATH
|
||||
modification option is enabled during installation
|
||||
|
||||
- install scripts to PythonXY\bin rather than PythonXY\Tools\Scripts
|
||||
- add PythonXY\bin to the Windows PATH (in addition to PythonXY) when the
|
||||
PATH modification option is enabled during installation
|
||||
|
||||
Note that these changes will only be available in Python 3.4 and later.
|
||||
Note that this change will only be available in Python 3.4 and later.
|
||||
|
||||
This means that, for Python 3.3, the most reliable way to invoke pip globally
|
||||
on Windows (without tinkering manually with PATH) will still remain
|
||||
|
@ -867,6 +873,21 @@ or can be licensed at all.
|
|||
Appendix: Rejected Proposals
|
||||
============================
|
||||
|
||||
|
||||
Changing the name of the scripts directory on Windows
|
||||
-----------------------------------------------------
|
||||
|
||||
Earlier versions of this PEP proposed changing the name of the script
|
||||
installation directory on Windows from "Scripts" to "bin" in order to
|
||||
improve the cross-platform consistency of the virtual environments created
|
||||
by ``pyvenv``.
|
||||
|
||||
However, Paul Moore determined that this change was likely backwards
|
||||
incompatible with cross-version Windows installers created with previous
|
||||
versions of Python, so the change has been removed from this PEP
|
||||
[#windows-incompatibility]_.
|
||||
|
||||
|
||||
Including ensurepip in Python 2.7, and 3.3
|
||||
------------------------------------------
|
||||
|
||||
|
@ -1006,6 +1027,12 @@ References
|
|||
.. [5] Discussion thread 5 (python-dev)
|
||||
(https://mail.python.org/pipermail/python-dev/2013-September/128894.html)
|
||||
|
||||
.. [#cert-verification] pip/requests certificate management concerns
|
||||
(https://mail.python.org/pipermail/python-dev/2013-October/129755.html)
|
||||
|
||||
.. [#windows-incompatibility] Windows installer compatibility concerns
|
||||
(https://mail.python.org/pipermail/distutils-sig/2013-October/022855.html)
|
||||
|
||||
.. [#ubuntu] `Ubuntu <http://www.ubuntu.com/>`
|
||||
.. [#debian] `Debian <http://www.debian.org>`
|
||||
.. [#fedora] `Fedora <https://fedoraproject.org/>`
|
||||
|
|
Loading…
Reference in New Issue