pip 20.3 から新しい dependency resolver(バージョン依存関係解決器)が導入され、デフォルトで使われます。
(pyfound.blogspot.com)- 依存関係を解決する際の矛盾が大幅に減りました。
以前(pip 20.0)には、pip install "six<1.12" "virtualenv==20.0.2" の結果として six==1.11 がインストールされていましたが、virtualenv==20.0.2 は six>=1.12.0,<2 を必要としていたため、これは誤った動作です。
現在(20.3)からは、何もインストールせずにインストールが拒否されます。
- 厳格になります。
- 下位依存関係に互換性のない 2 つのパッケージを同時にインストールしようとすると、インストールが拒否されます。
- この結果として、以下の 2 つのコマンドが同じパッケージをインストールしない可能性があります。
-
pip install x && pip install y -
pip install x y
- Constraints(lockfile)、editable、
==match、require hash-checking など、さまざまな変更もあります。
新しい dependency resolver は --use-deprecated=legacy-resolver で無効にでき、これは 2021 年 1 月まで(pip 21.0 release candidate)サポートされます。
これまで存在していた応急処置(workaround)が動作しない可能性があります。本文にはさまざまな解決策が載っているので、参考にしてみてください。
まだコメントはありません。