1
1
Fork 0
mirror of https://github.com/pypa/pip synced 2023-12-13 21:30:23 +01:00

Incorporating commit: e6acca646abcaaac7515da9b964d5b5291264142

This commit is contained in:
Bernard 2020-11-11 11:20:29 +01:00
parent 00f3d57131
commit 8383249442

View file

@ -1337,7 +1337,7 @@ candidate can take a lot of time. (The amount of time depends on the
package size, the number of versions pip must try, and other concerns.) package size, the number of versions pip must try, and other concerns.)
How does backtracking work? How does backtracking work?
~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^
When doing a pip install, pip starts by making assumptions about the When doing a pip install, pip starts by making assumptions about the
packages it needs to install. During the install process it needs to check these packages it needs to install. During the install process it needs to check these
@ -1384,8 +1384,6 @@ version of a package is a good candidate to install. It reduces the risk that
installing a new package will accidentally break an existing installed package, installing a new package will accidentally break an existing installed package,
and so reduces the risk that your environment gets messed up. and so reduces the risk that your environment gets messed up.
Please address this.
What does this behaviour look like? What does this behaviour look like?
----------------------------------- -----------------------------------
@ -1439,14 +1437,13 @@ Right now backtracking behaviour looks like this:
Downloading cup-3.13.0-py2.py3-none-any.whl (374 kB) Downloading cup-3.13.0-py2.py3-none-any.whl (374 kB)
In the above sample output, pip had to download multiple versions of In the above sample output, pip had to download multiple versions of
package cup - cup-3.22.0 to cup-3.13.0 - to find a version that will be package ``cup`` - cup-3.22.0 to cup-3.13.0 - to find a version that will be
compatible with the other packages - ``spoon``, ``hot-water``, ``cup`` compatible with the other packages - ``spoon``, ``hot-water``, etc.
etc.
These multiple ``Downloading cup-version`` lines show pip backtracking. These multiple ``Downloading cup-version`` lines show pip backtracking.
Possible ways to reduce backtracking occurring Possible ways to reduce backtracking occurring
--------------------------------------------- ----------------------------------------------
It's important to mention backtracking behaviour is expected during a It's important to mention backtracking behaviour is expected during a
``pip install`` process. What pip is trying to do is complicated - it is ``pip install`` process. What pip is trying to do is complicated - it is
@ -1459,7 +1456,7 @@ here are a number of ways.
.. _1-allow-pip-to-complete-its-backtracking: .. _1-allow-pip-to-complete-its-backtracking:
1. Allow pip to complete its backtracking 1. Allow pip to complete its backtracking
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
In most cases, pip will complete the backtracking process successfully. In most cases, pip will complete the backtracking process successfully.
It is possible this could take a very long time to complete - this may It is possible this could take a very long time to complete - this may
@ -1474,7 +1471,7 @@ If you'd prefer not to wait, you can interrupt pip (ctrl and c) and use
.. _2-reduce-the-versions-of-the-backtracking-package: .. _2-reduce-the-versions-of-the-backtracking-package:
2. Reduce the number of versions pip will try to backtrack through 2. Reduce the number of versions pip will try to backtrack through
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
If pip is backtracking more than you'd like, the next option is to If pip is backtracking more than you'd like, the next option is to
constrain the number of package versions it tries. constrain the number of package versions it tries.
@ -1496,7 +1493,7 @@ can be trial and error.
.. _3-use-constraint-files-or-lockfiles: .. _3-use-constraint-files-or-lockfiles:
3. Use constraint files or lockfiles 3. Use constraint files or lockfiles
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This option is a progression of 2 above. It requires users to know how This option is a progression of 2 above. It requires users to know how
to inspect: to inspect:
@ -1518,7 +1515,7 @@ suitable constraints file.
.. _4-be-more-strict-on-package-dependencies-during-development: .. _4-be-more-strict-on-package-dependencies-during-development:
4. Be more strict on package dependencies during development 4. Be more strict on package dependencies during development
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
For package maintainers during the development, give pip some help by For package maintainers during the development, give pip some help by
creating constraint files for the dependency tree. This will reduce the creating constraint files for the dependency tree. This will reduce the