On
behalf of the Python Packaging Authority and the pip team, I am pleased to announce that we have just released
pip 20.3, a new version of pip. You can install it by running python -m pip install --upgrade pip
.
This is an important and disruptive release -- we explained why in a blog post last year. We've even made a video about it.
Highlights
-
DISRUPTION: Switch to the new dependency resolver by default. Watch out for changes in handling editable installs, constraints files, and more: https://pip.pypa.io/en/latest/user_guide/#changes-to-the-pip-dependency-resolver-in-20-3-2020
-
DEPRECATION: Deprecate support for Python 3.5 (to be removed in pip 21.0).
-
DEPRECATION: pip freeze will stop filtering the pip, setuptools, distribute and wheel packages from pip freeze output in a future version. To keep the previous behavior, users should use the new
--exclude
option. -
Substantial improvements in new resolver for performance, output and error messages, avoiding infinite loops, and support for constraints files.
-
Support for PEP 600: Future
manylinux
Platform Tags for Portable Linux Built Distributions. -
Documentation improvements: Resolver migration guide, quickstart guide, and new documentation theme.
-
Add support for MacOS Big Sur compatibility tags.
The new resolver is now on by default for Python 3 users. It is significantly
stricter and more consistent when it receives incompatible instructions,
and reduces support for certain kinds of constraints files, so some
workarounds and workflows may break. Please see our guide on how to test and migrate, and how to report issues. You can use the deprecated (old) resolver, using the flag --use-deprecated=legacy-resolver
, until we remove it in the pip 21.0 release in January 2021.
You can find more details (including deprecations and removals) in the changelog.