Updating the message when the user hits a conflict w/ installed packages (original) (raw)
Environment
- pip version: master today.
- Python version: all
- OS: all
Description
We've decided to update the error message presented to a user, when the final result set of packages will contain dependency conflicts.
Context: #8513, #7744 and a recent team meeting regarding the new resolver rollout.
Expected behavior
The behavior has to be changed in two ways, each related to a different part of the resolver rollout plan:
- The legacy resolver would present a message nudging users to realize that the upcoming new resolver might behave differently (see Implement step 1 in resolver rollout process #8513)
- The new resolver would present a message nudging users "hey, do you want the resolver to always be strict!? tell us!" (see Warn users about dependency conflicts when updating other packages #7744 (comment))
How to Reproduce / Output
To get the current message, run:
$ pip install six==1.10.0 $ pip install cherrypy==11.0.0 Collecting cherrypy==11.0.0 Downloading CherryPy-11.0.0-py2.py3-none-any.whl (435 kB) |████████████████████████████████| 435 kB 5.3 MB/s Requirement already satisfied: six in /Users/pradyunsg/.virtualenvs/tmp-7af976d02abc202/lib/python3.8/site-packages (from cherrypy==11.0.0) (1.10.0) Collecting portend>=2.1.1 Downloading portend-2.6-py2.py3-none-any.whl (5.1 kB) Collecting cheroot>=5.2.0 Downloading cheroot-8.3.0-py2.py3-none-any.whl (86 kB) |████████████████████████████████| 86 kB 5.9 MB/s Collecting tempora>=1.8 Downloading tempora-3.0.0-py2.py3-none-any.whl (14 kB) Collecting more-itertools>=2.6 Using cached more_itertools-8.4.0-py3-none-any.whl (43 kB) Collecting jaraco.functools Downloading jaraco.functools-3.0.1-py3-none-any.whl (6.7 kB) Collecting pytz Using cached pytz-2020.1-py2.py3-none-any.whl (510 kB) ERROR: cheroot 8.3.0 has requirement six>=1.11.0, but you'll have six 1.10.0 which is incompatible. Installing collected packages: more-itertools, jaraco.functools, pytz, tempora, portend, cheroot, cherrypy Successfully installed cheroot-8.3.0 cherrypy-11.0.0 jaraco.functools-3.0.1 more-itertools-8.4.0 portend-2.6 pytz-2020.1 tempora-3.0.0
Note the line starting with "ERROR:".