From be41d87815c2d669ceab9e88304a1c04602c2cc1 Mon Sep 17 00:00:00 2001 From: Sumana Harihareswara Date: Wed, 28 Oct 2020 23:21:11 -0400 Subject: [PATCH] docs: Emphasize that pip may break existing packages Related to #7744 . --- docs/html/user_guide.rst | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/html/user_guide.rst b/docs/html/user_guide.rst index a2c6bb858d8..6c98a0c4dcd 100644 --- a/docs/html/user_guide.rst +++ b/docs/html/user_guide.rst @@ -198,7 +198,7 @@ In practice, there are 4 common uses of Requirements files: py -m pip install -r requirements.txt 2. Requirements files are used to force pip to properly resolve dependencies. - As it is now, pip `doesn't have true dependency resolution + pip 20.2 and earlier `doesn't have true dependency resolution `_, but instead simply uses the first specification it finds for a project. E.g. if ``pkg1`` requires ``pkg3>=1.0`` and ``pkg2`` requires ``pkg3>=1.0,<=2.0``, and if ``pkg1`` is @@ -1430,12 +1430,13 @@ time to fix the underlying problem in the packages, because pip will be stricter from here on out. This also means that, when you run a ``pip install`` command, pip only -considers the packages you are installing in that command, and may -break already-installed packages. It will not guarantee that your +considers the packages you are installing in that command, and **may +break already-installed packages**. It will not guarantee that your environment will be consistent all the time. If you ``pip install x`` and then ``pip install y``, it's possible that the version of ``y`` you get will be different than it would be if you had run ``pip -install x y`` in a single command. We would like your thoughts on what +install x y`` in a single command. We are considering changing this +behavior (per :issue:`7744`) and would like your thoughts on what pip's behavior should be; please answer `our survey on upgrades that create conflicts`_.