[Python-checkins] peps: clarify CA cert issue; install virtualenv as well; mention Python 2.7

richard.jones python-checkins at python.org
Wed Jul 10 05:02:05 CEST 2013


http://hg.python.org/peps/rev/bd9b2df92af5
changeset:   4990:bd9b2df92af5
user:        Richard Jones <richard at mechanicalcat.net>
date:        Wed Jul 10 13:01:57 2013 +1000
summary:
  clarify CA cert issue; install virtualenv as well; mention Python 2.7 possibility

files:
  pep-0439.txt |  34 ++++++++++++++++++++++++----------
  1 files changed, 24 insertions(+), 10 deletions(-)


diff --git a/pep-0439.txt b/pep-0439.txt
--- a/pep-0439.txt
+++ b/pep-0439.txt
@@ -45,6 +45,12 @@
 considerably reduced.  It is hoped that this will therefore increase
 the likelihood that Python projects will reuse third party software.
 
+The Python community also has an issue of complexity around the current
+bootstrap procedure for pip, setuptools and virtualenv. They all have
+their own bootstrap download file with slightly different usages and
+even refer to each other in some cases. Having a single bootstrap which
+is common amongst them all, with a simple usage, would be far preferable.
+
 It is also hoped that this is reduces the number of proposals to
 include more and more software in the Python standard library, and
 therefore that more popular Python software is more easily upgradeable
@@ -54,6 +60,9 @@
 Proposal
 ========
 
+The bootstrap will install the pip implementation, setuptools and virtualenv
+by downloading their installation files from PyPI.
+
 This proposal affects two components of packaging: `the pip bootstrap`_ and,
 thanks to easier package installation, `modifications to publishing
 packages`_.
@@ -68,11 +77,11 @@
 The Python installation includes an executable called "pip3" (see PEP 394 for
 naming rationale etc.) that attempts to import pip machinery.  If it can then
 the pip command proceeds as normal.  If it cannot it will bootstrap pip by
-downloading the pip implementation and setuptools wheel files. Hereafter the
-installation of the "pip implementation" will imply installation of
-setuptools.  Once installed, the pip command proceeds as normal. Once the
-bootstrap process is complete the "pip3" command is no longer the bootstrap
-but rather the full pip command.
+downloading the pip implementation, setuptools and virtualenv wheel files.
+Hereafter the installation of the "pip implementation" will imply installation
+of setuptools and virtualenv.  Once installed, the pip command proceeds as
+normal. Once the bootstrap process is complete the "pip3" command is no longer
+the bootstrap but rather the full pip command.
 
 A boostrap is used in the place of a the full pip code so that we don't have
 to bundle pip and also pip is upgradeable outside of the regular Python
@@ -114,12 +123,13 @@
 
 Some users may have no Internet access suitable for fetching the pip
 implementation file. These users can manually download and install the
-setuptools and pip tar files. Adding specific support for this use-case is
-unnecessary.
+setuptools, virtualenv and pip tar files. Adding specific support for this
+use-case is unnecessary.
 
 The download of the pip implementation install file will be performed
 securely.  The transport from pypi.python.org will be done over HTTPS with the
-CA certificate check performed (see PEP XXXX).
+CA certificate check performed. This facility will be present in Python 3.4+
+using Operating System certificates (see PEP XXXX).
 
 Beyond those arguments controlling index location and download
 options, the "pip3" boostrap command may support further standard pip
@@ -173,13 +183,17 @@
 issue tracker [2]_. Most notably, the addition of --bootstrap and --bootstrap-
 to-system to the pip command-line.
 
+It would be preferable that the pip, setuptools and virtualenv projects
+distribute a wheel format download.
+
 The required code for this implementation is the "pip3" command described
 above. The additional pypublish can be developed outside of the scope of this
 PEP's work.
 
 Finally, it would be desirable that "pip3" be ported to Python 2.6+ to allow
-the single command to replace all existing pip/setuptools/distribute and
-possibly virtualenv bootstrap scripts.
+the single command to replace all existing pip, setuptools and virtualenv
+bootstrap scripts. Having that bootstrap included in a future Python 2.7
+release would also be highly desirable.
 
 
 Risks

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


More information about the Python-checkins mailing list