Instalación de versiones específicas de paquetes con pip


Estoy intentando instalar la versión 1.2.2 del adaptador MySQL_python, usando un nuevo virtualenv creado con la opción --no-site-packages. La versión actual que se muestra en PyPI es 1.2.3. ¿Hay alguna forma de instalar la versión anterior? Encontré un artículo que dice que esto debería hacerlo:

pip install MySQL_python==1.2.2

Cuando está instalado, sin embargo, todavía muestra MySQL_python-1.2.3-py2.6.huevo-información en los paquetes del sitio. ¿Se trata de un problema específico de este paquete, o estoy haciendo algo mal?

Author: Anthon, 2011-03-08

6 answers

Primero, veo dos problemas con lo que estás tratando de hacer. Dado que ya tiene una versión instalada, debe desinstalar el controlador existente actual o usar pip install -I MySQL_python==1.2.2

Sin embargo, pronto descubrirás que esto no funciona. Si observa el registro de instalación de pip, o si hace un pip install -Iv MySQL_python==1.2.2, encontrará que el enlace URL de PyPI no funciona para MySQL_python v1.2.2. Puede verificar esto aquí: http://pypi.python.org/pypi/MySQL-python/1.2.2

El enlace de descarga 404s y los enlaces de URL de reserva se están redirigiendo infinitamente debido a sourceforge.net actualización reciente y URL obsoleta de PyPI.

Así que para instalar correctamente el controlador, puede seguir estos pasos:

pip uninstall MySQL_python
pip install -Iv http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.2/MySQL-python-1.2.2.tar.gz/download
 645
Author: Mahmoud Abdelkader,
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
2012-07-25 11:36:12

Incluso puede usar un rango de versiones con el comando pip install. Algo como esto:

pip install 'stevedore>=1.3.0,<1.4.0'
 285
Author: user1978556,
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-11-19 19:51:23

Una forma como se sugiere en este post {[6] } es mencionar la versión en pip como

pip install -Iv MySQL_python==1.2.2

Es decir, Use == y mencione el número de versión para instalar solo esa versión. -I, --ignore-installed ignora los paquetes ya instalados.

 95
Author: Srikar Appalaraju,
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-05-23 12:10:48

Creo que si ya tiene un paquete instalado, pip no lo sobrescribirá con otra versión. Use -I para ignorar versiones anteriores.

 35
Author: dappawit,
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
2011-03-07 23:13:22

Para instalar una versión específica del paquete de python, ya sea la primera vez, una actualización o una degradación, use:

pip install --force-reinstall MySQL_python==1.2.4

MySQL_python versión 1.2.2 no está disponible, así que usé una versión diferente. Para ver todas las versiones de paquetes disponibles desde un índice, excluya la versión:

pip install MySQL_python==
 26
Author: Zach Weg,
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-04-05 07:00:00

Dado que esto parecía ser un cambio radical introducido en la versión 10 de pip, bajé a una versión compatible:

pip install 'pip<10' 

Este comando le dice a pip que instale una versión del módulo inferior a la versión 10. Haga esto en un virutalenv para que no arruine la instalación de Python en su sitio.

 1
Author: Trenton,
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-09-02 00:54:25