No se pudo encontrar una versión que satisfaga el requisito


Estoy instalando varios paquetes Python en Ubuntu 12.04 usando el siguiente archivo requirements.txt:

numpy>=1.8.2,<2.0.0
matplotlib>=1.3.1,<2.0.0
scipy>=0.14.0,<1.0.0
astroML>=0.2,<1.0
scikit-learn>=0.14.1,<1.0.0
rpy2>=2.4.3,<3.0.0

Y estas dos órdenes: {[16]]}

$ pip install --download=/tmp -r requirements.txt
$ pip install --user --no-index --find-links=/tmp -r requirements.txt

(el primero descarga los paquetes y el segundo los instala).

El proceso se detiene con frecuencia con el error:

  Could not find a version that satisfies the requirement <package> (from matplotlib<2.0.0,>=1.3.1->-r requirements.txt (line 2)) (from versions: )
No matching distribution found for <package> (from matplotlib<2.0.0,>=1.3.1->-r requirements.txt (line 2))

Que arreglo manualmente con:

pip install --user <package>

Y luego ejecute el segundo comando pip install de nuevo.

Pero eso solo funciona para ese paquete en particular. Cuando corro el segundo comando pip install nuevamente, el proceso se detiene ahora quejándose de otro paquete requerido y necesito repetir el proceso nuevamente, es decir: instale el nuevo paquete requerido manualmente (con el comando anterior) y luego ejecute el segundo comando pip install.

Hasta ahora he tenido que instalar manualmentesix, pytz, nose, y ahora se está quejando de necesitar mock.

¿Hay una manera de decirle a pip que instale automáticamente todas las dependencias necesarias para que no tenga para hacerlo manualmente uno por uno?

Add: Esto solo sucede en Ubuntu 12.04 por cierto. En Ubuntu 14.04 los comandos pip install aplicados en el archivo requirements.txt funcionan sin problemas.

Author: Gabriel, 2015-08-31

5 answers

Este enfoque (tener todas las dependencias en un directorio y no descargarlas de un índice) solo funciona cuando el directorio contiene todos los paquetes. Por lo tanto, el directorio debe contener todas las dependencias, pero también todos los paquetes de los que dependen esas dependencias (p.ej., six, pytz etc).

Por lo tanto, debe incluirlos manualmente en requirements.txt (para que el primer paso los descargue explícitamente) o debe instalar todos los paquetes utilizando PyPI y luego pip freeze > requirements.txt para almacenar la lista de todos los paquetes necesario.

 25
Author: Simeon Visser,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-08-31 00:15:41

Intente instalar flask a través de powershell con el siguiente comando.

>>pip install --isolated Flask

Esto permitirá que la instalación evite las variables de entorno y la configuración del usuario.

 2
Author: user3782287,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-13 20:28:57

Después de 2 horas de búsqueda, encontré una manera de arreglarlo con una sola línea de comando. Necesita saber la versión del paquete (Solo busque la versión del PAQUETE).

Orden:

python3 -m pip install --pre --upgrade PACKAGE==VERSION.VERSION.VERSION
 1
Author: Jagd_Panzer_E100,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-03 13:32:18

No siempre, pero en algunos casos el paquete ya existe. Por ejemplo - getpass. No está listada por "pip list" pero puede ser importada y usada:

introduzca la descripción de la imagen aquí

Si intento instalar pip getpass, obtengo el siguiente error: "No se ha podido encontrar una versión que cumpla con el requisito de getpass"

 0
Author: svinec,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-08-22 22:08:11

Podría ayudar

Sudo pip install wheel = = 0.29.0

 -5
Author: Trisha,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-02-25 15:21:14