From 6813caadabcb3c1827670145f75957c8168d1047 Mon Sep 17 00:00:00 2001 From: Pradyun Gedam Date: Sun, 15 Jul 2018 18:37:24 +0530 Subject: [PATCH 1/3] Be factually correct --- src/pip/_vendor/README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pip/_vendor/README.rst b/src/pip/_vendor/README.rst index 0b0d27056..739844e2e 100644 --- a/src/pip/_vendor/README.rst +++ b/src/pip/_vendor/README.rst @@ -117,7 +117,7 @@ Debundling As mentioned in the rationale, we, the pip team, would prefer it if pip was not debundled (other than optionally ``pip/_vendor/requests/cacert.pem``) and that pip was left intact. However, if you insist on doing so, we have a -semi-supported method that we do test in our CI, but requires a bit of +semi-supported method (that we don't test in our CI) and requires a bit of extra work on your end in order to solve the problems described above. 1. Delete everything in ``pip/_vendor/`` **except** for From 5a608324fb62180c38ea6621ce8e4dfe54ded68f Mon Sep 17 00:00:00 2001 From: Pradyun Gedam Date: Sun, 15 Jul 2018 18:37:45 +0530 Subject: [PATCH 2/3] Styling changes --- src/pip/_vendor/README.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pip/_vendor/README.rst b/src/pip/_vendor/README.rst index 739844e2e..b5c170bf4 100644 --- a/src/pip/_vendor/README.rst +++ b/src/pip/_vendor/README.rst @@ -22,9 +22,9 @@ Policy Rationale --------- -Historically pip has not had any dependencies except for setuptools itself, +Historically pip has not had any dependencies except for ``setuptools`` itself, choosing instead to implement any functionality it needed to prevent needing -a dependency. However, starting with pip 1.5 we began to replace code that was +a dependency. However, starting with pip 1.5, we began to replace code that was implemented inside of pip with reusable libraries from PyPI. This brought the typical benefits of reusing libraries instead of reinventing the wheel like higher quality and more battle tested code, centralization of bug fixes @@ -43,7 +43,7 @@ way (via ``install_requires``) for pip. These issues are: * **Making other libraries uninstallable.** One of pip's current dependencies is the ``requests`` library, for which pip requires a fairly recent version to run. - If pip dependended on ``requests`` in the traditional manner, then we'd either + If pip depended on ``requests`` in the traditional manner, then we'd either have to maintain compatibility with every ``requests`` version that has ever existed (and ever will), OR allow pip to render certain versions of ``requests`` uninstallable. (The second issue, although technically true for any Python From 490b6fd062e026c197c84632740a2f9601a71623 Mon Sep 17 00:00:00 2001 From: Pradyun Gedam Date: Sun, 15 Jul 2018 18:38:44 +0530 Subject: [PATCH 3/3] Document new debundling suggestions --- src/pip/_vendor/README.rst | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/pip/_vendor/README.rst b/src/pip/_vendor/README.rst index b5c170bf4..cf0ebddba 100644 --- a/src/pip/_vendor/README.rst +++ b/src/pip/_vendor/README.rst @@ -131,6 +131,14 @@ extra work on your end in order to solve the problems described above. 3. Modify ``pip/_vendor/__init__.py`` so that the ``DEBUNDLED`` variable is ``True``. -4. *(Optional)* If you've placed the wheels in a location other than +4. Upon installation, the ``INSTALLER`` file in pip's own ``dist-info`` + directory should be set to something other than ``pip``, so that pip + can detect that it wasn't installed using itself. + +5. *(optional)* If you've placed the wheels in a location other than ``pip/_vendor/``, then modify ``pip/_vendor/__init__.py`` so that the ``WHEEL_DIR`` variable points to the location you've placed them. + +6. *(optional)* Update the ``pip_version_check`` logic to use the + appropriate logic for determining the latest available version of pip and + prompt the user with the correct upgrade message.