clarify CA cert issue; install virtualenv as well; mention Python 2.7 possibility
This commit is contained in:
parent
3a283f9827
commit
12c9125cc2
34
pep-0439.txt
34
pep-0439.txt
|
@ -45,6 +45,12 @@ Python installation the barrier to installing additional software is
|
||||||
considerably reduced. It is hoped that this will therefore increase
|
considerably reduced. It is hoped that this will therefore increase
|
||||||
the likelihood that Python projects will reuse third party software.
|
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
|
It is also hoped that this is reduces the number of proposals to
|
||||||
include more and more software in the Python standard library, and
|
include more and more software in the Python standard library, and
|
||||||
therefore that more popular Python software is more easily upgradeable
|
therefore that more popular Python software is more easily upgradeable
|
||||||
|
@ -54,6 +60,9 @@ beyond requiring Python installation upgrades.
|
||||||
Proposal
|
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,
|
This proposal affects two components of packaging: `the pip bootstrap`_ and,
|
||||||
thanks to easier package installation, `modifications to publishing
|
thanks to easier package installation, `modifications to publishing
|
||||||
packages`_.
|
packages`_.
|
||||||
|
@ -68,11 +77,11 @@ The pip bootstrap
|
||||||
The Python installation includes an executable called "pip3" (see PEP 394 for
|
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
|
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
|
the pip command proceeds as normal. If it cannot it will bootstrap pip by
|
||||||
downloading the pip implementation and setuptools wheel files. Hereafter the
|
downloading the pip implementation, setuptools and virtualenv wheel files.
|
||||||
installation of the "pip implementation" will imply installation of
|
Hereafter the installation of the "pip implementation" will imply installation
|
||||||
setuptools. Once installed, the pip command proceeds as normal. Once the
|
of setuptools and virtualenv. Once installed, the pip command proceeds as
|
||||||
bootstrap process is complete the "pip3" command is no longer the bootstrap
|
normal. Once the bootstrap process is complete the "pip3" command is no longer
|
||||||
but rather the full pip command.
|
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
|
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
|
to bundle pip and also pip is upgradeable outside of the regular Python
|
||||||
|
@ -114,12 +123,13 @@ to PyPI.
|
||||||
|
|
||||||
Some users may have no Internet access suitable for fetching the pip
|
Some users may have no Internet access suitable for fetching the pip
|
||||||
implementation file. These users can manually download and install the
|
implementation file. These users can manually download and install the
|
||||||
setuptools and pip tar files. Adding specific support for this use-case is
|
setuptools, virtualenv and pip tar files. Adding specific support for this
|
||||||
unnecessary.
|
use-case is unnecessary.
|
||||||
|
|
||||||
The download of the pip implementation install file will be performed
|
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
|
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
|
Beyond those arguments controlling index location and download
|
||||||
options, the "pip3" boostrap command may support further standard pip
|
options, the "pip3" boostrap command may support further standard pip
|
||||||
|
@ -173,13 +183,17 @@ The changes to pip required by this PEP are being tracked in that project's
|
||||||
issue tracker [2]_. Most notably, the addition of --bootstrap and --bootstrap-
|
issue tracker [2]_. Most notably, the addition of --bootstrap and --bootstrap-
|
||||||
to-system to the pip command-line.
|
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
|
The required code for this implementation is the "pip3" command described
|
||||||
above. The additional pypublish can be developed outside of the scope of this
|
above. The additional pypublish can be developed outside of the scope of this
|
||||||
PEP's work.
|
PEP's work.
|
||||||
|
|
||||||
Finally, it would be desirable that "pip3" be ported to Python 2.6+ to allow
|
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
|
the single command to replace all existing pip, setuptools and virtualenv
|
||||||
possibly virtualenv bootstrap scripts.
|
bootstrap scripts. Having that bootstrap included in a future Python 2.7
|
||||||
|
release would also be highly desirable.
|
||||||
|
|
||||||
|
|
||||||
Risks
|
Risks
|
||||||
|
|
Loading…
Reference in New Issue