Tengo esto especificado en mi archivo de restricciones
asgiref==3.5.0
y cuando ejecuto pip3 install durante la compilación de docker, se queja de
#12 24.67 ERROR: Cannot install -r /tmp/requirements.txt (line 16) because these package versions have conflicting dependencies. #12 24.67 #12 24.67 The conflict is caused by: #12 24.67 django 3.2.11 depends on asgiref<4 and >=3.3.2 #12 24.67 The user requested (constraint) asgiref==3.5.0 #12 24.67 #12 24.67 To fix this you could try to: #12 24.67 1. loosen the range of package versions you've specified #12 24.67 2. remove package versions to allow pip attempt to solve the dependency conflict #12 24.67 #12 24.67 ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependenciesLa versión de Pip3 es 21.2.4, la versión de Linux es 18.04, Python 3.6.9
Tal vez he estado malinterpretando el >= todo el tiempo, ¿habría pensado que asgiref==3.5.0 encajaría en la asgiref<4 and >=3.3.2 ?
La instalación de pip3 funciona bien si especifico asgiref==3.3.3 o asgiref==3.4.0
Tengo el 3.5.0 instalado localmente bien
No estoy seguro de si debo eliminar mi pregunta, pero creo que le daré una respuesta, por lo que en caso de que alguien más encuentre el mismo problema, creo que el culpable es durante la compilación de la ventana acoplable, no puede encontrar la versión especificada:
> [ 8/12] RUN set -ex && pip3 install -I asgiref==3.5.0: #12 0.250 + pip3 install -I asgiref==3.5.0 #12 0.825 Looking in indexes: https://pypi.org/simple #12 1.051 ERROR: Could not find a version that satisfies the requirement asgiref==3.5.0 (from versions: 0.8, 0.9, 0.9.1, 0.10.0, 0.11.0, 0.11.1, 0.11.2, 0.12.0, 0.12.1, 0.13.0, 0.13.2, 0.13.3, 0.14.0, 1.0.0, 1.0.1, 1.1.0, 1.1.1, 1.1.2, 2.0.0, 2.0.1, 2.1.0, 2.1.1, 2.1.2, 2.1.3, 2.1.4, 2.1.5, 2.1.6, 2.2.0, 2.3.0, 2.3.1, 2.3.2, 3.0.0, 3.1.0, 3.1.1, 3.1.2, 3.1.3, 3.1.4, 3.2.0, 3.2.1, 3.2.2, 3.2.3, 3.2.4, 3.2.5, 3.2.6, 3.2.7, 3.2.8, 3.2.9, 3.2.10, 3.3.0, 3.3.1, 3.3.2, 3.3.3, 3.3.4, 3.4.0, 3.4.1) #12 1.052 ERROR: No matching distribution found for asgiref==3.5.0Sin embargo, no sé por qué no puede encontrar la versión, tal vez la versión sea específica para OS/Python. Pero revisé el índice pypi , parece que la versión está allí y no está vinculada a un sistema operativo específico:
De todos modos, el mensaje de error fue un poco confuso, debería haber dicho que no puede encontrar la versión en lugar de "versión en conflicto"
He caído en esta trampa dos veces hoy, la primera vez fue mala, configuré una versión incorrecta para un paquete. Pero la segunda vez (esta pregunta) no me di cuenta de que es el mismo problema ya que tengo la versión instalada localmente.