Estoy tratando de instalar la versión 1.2.2 del adaptador MySQL_python, utilizando un nuevo virtualenv creado con la --no-site-packagesopción. 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 decía que esto debería hacerlo:
pip install MySQL_python==1.2.2Sin embargo, cuando está instalado, todavía se muestra MySQL_python-1.2.3-py2.6.egg-infoen los paquetes del sitio. ¿Es este un problema específico de este paquete o estoy haciendo algo mal?

pip install MySQL_python==1.8.9pip install -Iv pandas==0.12.0Respuestas:
TL; DR:
pip install -Iv(es decirpip install -Iv MySQL_python==1.2.2)Primero, veo dos problemas con lo que estás tratando de hacer. Como ya tiene una versión instalada, debe desinstalar el controlador existente actual o usar
pip install -I MySQL_python==1.2.2Sin embargo, pronto descubrirá que esto no funciona. Si observa el registro de instalación de pip, o si lo hace
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.2El enlace de descarga 404 y los enlaces de URL de reserva se redirigen 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:
fuente
Incluso puede usar un rango de versiones con
pip installcomando. Algo como esto:Y si el paquete ya está instalado y desea degradarlo, agregue
--force-reinstallasí:fuente
$ pip install 'xkcdpass==1.2.5' --force-reinstallUna forma, como se sugiere en esta publicación , es mencionar la versión
pipcomo:es decir, use
==y mencione el número de versión para instalar solo esa versión.-I, --ignore-installedignora los paquetes ya instalados.fuente
pip listno estaba al tanto de eso, peroconda listestaba (y mostraría las diferentes versiones del paquete). También confundió completamente a Pycharm .Para instalar una versión específica del paquete de Python, ya sea la primera vez, una actualización o un uso anterior:
MySQL_python versión 1.2.2 no está disponible, así que utilicé una versión diferente. Para ver todas las versiones de paquete disponibles de un índice, excluya la versión:
fuente
Creo que si ya tiene un paquete instalado, pip no lo sobrescribirá con otra versión. Use
-Ipara ignorar versiones anteriores.fuente
unset PYTHONPATHde modo de mantenerpipvean sus bibliotecas preinstaladasA veces, la versión instalada anteriormente se almacena en caché.
Devuelve lo siguiente:
Requisito ya satisfecho: almohada == 5.2.0 en /home/ubuntu/anaconda3/lib/python3.6/site-packages (5.2.0)
Podemos usar --no-cache-dir junto con -I para sobrescribir esto
fuente
Como esto parecía ser un cambio innovador introducido en la versión 10 de pip, bajé a una versión compatible:
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.
fuente
Recientemente me encontré con un problema al usar
pipla-Ibandera que quería documentar en alguna parte:-Iserá no desinstalar el paquete existente antes de proceder; simplemente lo instalará sobre el anterior. Esto significa que los archivos que deben eliminarse entre versiones se dejarán en su lugar. Esto puede causar un comportamiento extraño si esos archivos comparten nombres con otros módulos instalados.Por ejemplo, digamos que hay un paquete llamado
package. En uno depackagelos archivos s, usanimport datetime. Ahora, en[email protected], esto apunta aldatetimemódulo de biblioteca estándar , pero en[email protected], agregaron un localdatetime.pycomo reemplazo de la versión de biblioteca estándar (por cualquier razón).Ahora digamos que corro
pip install package==3.0.0, pero luego me doy cuenta de que realmente quería la versión2.0.0. Si ahora ejecutopip install -I package==2.0.0, eldatetime.pyarchivo anterior no se eliminará, por lo que cualquier llamada aimport datetimeimportará el módulo incorrecto.En mi caso, esto se manifestó con errores de sintaxis extraños porque la versión más nueva del paquete agregó un archivo que solo era compatible con Python 3, y cuando bajé las versiones del paquete para admitir Python 2, continué importando el módulo solo Python-3.
En base a esto, argumentaría que desinstalar el paquete anterior siempre es preferible a usar
-Ial actualizar las versiones instaladas del paquete.fuente
Este comando a continuación funcionó para mí
Versión de Python - 2.7
paquete - python-jenkins
comando
$ pip install 'python-jenkins>=1.1.1'fuente
Hay 2 formas de instalar cualquier paquete con la versión: - A). pip install -Iv package-name == versión B). pip install -v package-name == versión
Para
Aquí, si está utilizando la opción -I durante la instalación (cuando no sabe si el paquete ya está instalado) (como 'pip install -Iv pyreadline == 2. *' o algo así), estaría instalando un nuevo paquete separado con el mismo paquete existente que tiene una versión diferente.
Para B
2. y luego vea lo que ya está instalado por pip list
3.si la lista de paquetes contiene algún paquete que desee instalar con una versión específica, entonces la mejor opción es desinstalar primero el paquete de esta versión, por pip uninstall package-name
4. Y ahora puede continuar para reinstalar el mismo paquete con una versión específica, pip install -v package-name == versión, por ejemplo, pip install -v pyreadline == 2. *
fuente
Si desea actualizar a la última versión y no sabe cuál es la última versión, puede escribir.
pip install MySQL_python --upgrade
Esto actualizará MySQL_python para la última versión disponible, puede usar para cualquier otra versión de paquete.
fuente