[Python-checkins] peps: PEP 453 updates

nick.coghlan python-checkins at python.org
Sun Oct 20 07:03:14 CEST 2013


http://hg.python.org/peps/rev/bd49f3710045
changeset:   5200:bd49f3710045
user:        Nick Coghlan <ncoghlan at gmail.com>
date:        Sun Oct 20 15:00:20 2013 +1000
summary:
  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

files:
  pep-0453.txt |  87 ++++++++++++++++++++++++++-------------
  1 files changed, 57 insertions(+), 30 deletions(-)


diff --git a/pep-0453.txt b/pep-0453.txt
--- a/pep-0453.txt
+++ b/pep-0453.txt
@@ -344,6 +344,11 @@
 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 @@
 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,
-  including the installer updates to invoke ``ensurepip``.
+  * 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
-  to date.
+  * 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
-  Python 3.4 must be implemented prior to the beta feature freeze.
+  * 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 @@
 
 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 @@
 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 @@
 .. [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/>`

-- 
Repository URL: http://hg.python.org/peps


More information about the Python-checkins mailing list