Posts

Showing posts with the label pip

pip 20.3 dependency management

Image
The latest pip 20.3 introduce a breaking change to dependency management https://github.com/pypa/pip/blob/20.3.3/docs/html/user_guide.rst It will  reduce inconsistency : it will  no longer install a combination of packages that is mutually inconsistent . In older versions of pip, it is possible for pip to install a package which does not satisfy the declared requirements of another installed package. For example, in pip 20.0,  pip install "six<1.12" "virtualenv==20.0.2"  does the wrong thing, “successfully” installing  six==1.11 , even though  virtualenv==20.0.2  requires  six>=1.12.0,<2  ( defined here ). The new resolver, instead, outright rejects installing anything if it gets that input. It will be  stricter  - if you ask pip to install two packages with incompatible requirements, it will refuse (rather than installing a broken combination, like it did in previous versions). This is definitely a nice change to make sure...