Desde pip 20.3 se introduce un nuevo dependency resolver (resolvedor de dependencias por versión) y pasa a usarse por defecto.
(pyfound.blogspot.com)- Se redujeron mucho las contradicciones al resolver dependencias.
En el pasado (pip 20.0), el resultado de pip install "six<1.12" "virtualenv==20.0.2" era que se instalaba six==1.11, pero como virtualenv==20.0.2 requería six>=1.12.0,<2, ese comportamiento era incorrecto.
Desde ahora (20.3), no instala nada y la instalación es rechazada.
- Se vuelve más estricto.
- Si intentas instalar al mismo tiempo dos paquetes cuyas dependencias secundarias no son compatibles, la instalación será rechazada.
- Como resultado, es posible que los dos comandos de abajo no instalen los mismos paquetes.
-
pip install x && pip install y -
pip install x y
- También hubo varios cambios relacionados con constraints (lockfile), editable, coincidencia con
==, requerir hash-checking, entre otros.
El nuevo dependency resolver puede desactivarse con --use-deprecated=legacy-resolver, y esto estará soportado hasta enero de 2021 (pip 21.0 release candidate).
Es posible que los workarounds existentes dejen de funcionar. En el artículo principal se presentan varias soluciones, así que vale la pena revisarlas.
Aún no hay comentarios.