Instalación de una versión de paquete específica con pip
Estoy intentando instalar la versión 1.2.2 de MySQL_python
, usando un entorno virtual nuevo creado con la --no-site-packages
opción. La versión actual que se muestra en PyPi es 1.2.3 . ¿Hay alguna forma de instalar la versión anterior? Yo he tratado:
pip install MySQL_python==1.2.2
Sin embargo, cuando se instala, todavía se muestra MySQL_python-1.2.3-py2.6.egg-info
en los paquetes del sitio. ¿Es este un problema específico de este paquete o estoy haciendo algo mal?
TL;DR :
Actualización a partir del 28/12/2022 :
pip install --force-reinstall -v
Por ejemplo:pip install --force-reinstall -v "MySQL_python==1.2.2"
Qué significan estas opciones:
--force-reinstall
es una opción para reinstalar todos los paquetes incluso si ya están actualizados.-v
es para detallado. Puede combinarlos para obtener aún más detalle (es decir-vv
,) hasta 3 veces (por ejemplo--force-reinstall -vvv
,).
Gracias a @Peter por resaltar esto (¡y parece que el contexto de la pregunta se ha ampliado dado el momento en que se formuló la pregunta por primera vez!), la documentación de Python analiza una advertencia con el uso -I
, ya que puede interrumpir su instalación si se instaló con un administrador de paquetes diferente o si su paquete es/era una versión diferente.
Respuesta original:
pip install -Iv
(es decirpip install -Iv MySQL_python==1.2.2
)
Qué significan estas opciones:
-I
significa--ignore-installed
que ignorará los paquetes instalados y los sobrescribirá.-v
es para detallado. Puede combinarlos para obtener aún más detalle (es decir-vv
,) hasta 3 veces (por ejemplo-Ivvv
,).
Para más información, verpip install --help
Primero, veo dos problemas con lo que estás intentando hacer. Como ya tiene una versión instalada, debe desinstalar el controlador existente actual o usarpip 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 realiza una comprobación, 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
Los enlaces de descarga 404 y los enlaces de URL alternativos se están redirigiendo infinitamente debido a la reciente actualización de sourceforge.net y la URL obsoleta de PyPI.
Entonces, 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
Incluso puedes usar un rango de versiones con pip install
comando. Algo como esto:
pip install 'stevedore>=1.3.0,<1.4.0'
Y si el paquete ya está instalado y desea degradarlo, agregue algo --force-reinstall
como esto:
pip install 'stevedore>=1.3.0,<1.4.0' --force-reinstall
Una forma, como se sugiere en esta publicación , es mencionar la versión 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.
Para instalar una versión específica del paquete Python, ya sea la primera vez, una actualización o una degradación, utilice:
pip install --force-reinstall MySQL_python==1.2.4
MySQL_python versión 1.2.2 no está disponible, así que utilicé una versión diferente. Para ver todas las versiones de paquetes disponibles de un índice, excluya la versión:
pip install MySQL_python==
Creo que si ya tiene un paquete instalado, pip no lo sobrescribirá con otra versión. Úselo -I
para ignorar versiones anteriores.