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?
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
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'
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.
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.
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==
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.
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