¿Cómo instalar la última versión de pip cuando ya instalé la proporcionada por Ubuntu?

18

En Ubuntu 16.04 cuando haces:

pip install --upgrade pip

usted obtiene:

Collecting pip
  Using cached pip-8.1.2-py2.py3-none-any.whl
Installing collected packages: pip
Successfully installed pip-8.1.1
You are using pip version 8.1.1, however version 8.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

Lo suficientemente justo. Ahora intenta

pip install --upgrade pip

y obtienes:

Collecting pip
  Using cached pip-8.1.2-py2.py3-none-any.whl
Installing collected packages: pip
Successfully installed pip-8.1.1
You are using pip version 8.1.1, however version 8.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

Entonces, ¿cómo obtener pip 8.1.2?

usuario2413
fuente
Funciona sudo -H pip install --upgrade pip?
edwinksl
@edwinksl: da los mismos resultados que los otros comandos.
user2413
Eso parece extraño ya que funcionó para mí. Probablemente necesite presentar un informe de error.
edwinksl
@edwinksl: gracias. Esperaré un par de días más y haré eso>
user2413
1
@edwinksl Acabo de abrir un problema por si alguien quiere rastrearlo.
sethmlarson

Respuestas:

13

No es una buena idea actualizar el sistema Python a menos que realmente esté trabajando en código ubuntu y tenga una razón específica para hacerlo. Hay muchas dependencias del sistema que puede romper actualizando con pip en lugar de usar las bibliotecas de python en el repositorio APT.

Si está desarrollando aplicaciones de Python y necesita cambiar las versiones de las bibliotecas, entonces debe usar las opciones --user para pip o crear un virtualenv para almacenar las versiones de las bibliotecas de sus usuarios.

Ambos métodos recurrirán con gracia al uso de libs del sistema si no tienen sus propias copias, virtualenv tiene más opciones sobre cómo controlar esos comentarios.

pip con --user

Esto es tan fácil como simplemente agregar --user al final de todos sus comandos pip, esto colocará sus libs de python en ~ / .local / lib / pythonX.X (donde XX es su número de versión de python), se verán por aquí primero, solo tenga cuidado al hacer esto para root si tiene que ejecutar a través de sudo, ya que puede afectar el sistema python.

virtualenv

Esto funciona de manera similar a lo anterior, pero está menos vinculado a un usuario específico, por lo que no tiene la limitación de sudo, también puede clonar un virtualenv y actualizarlo para probar los cambios, lo que le permite revertir si apesta. http://docs.python-guide.org/en/latest/dev/virtualenvs/

Amias
fuente
1
Realmente desea hacer una instalación alternativa de python si desea 2.7, por lo que no interferirá con el sistema operativo python. A partir de ahí, debe actualizar pip en la instalación alternativa antes del venv. También desea --no-cache-dir para evitar que se instale la versión en caché.
Wyrmwood
La actualización de pip no afecta negativamente (de todos modos) a Python 2.7, que se envía por defecto.
Afligido el
10

Parece que esto podría ser un problema con la instalación del archivo .whl para pip8.1.2. Una pipsolución alternativa para instalar 8.1.2 es descargar la fuente directamente desde PyPi e instalarla a través de setup.py.

Lo siguiente funcionó para mí:

wget https://pypi.python.org/packages/e7/a8/7556133689add8d1a54c0b14aeff0acb03c64707ce100ecd53934da1aa13/pip-8.1.2.tar.gz
tar -xzvf pip-8.1.2.tar.gz
cd pip-8.1.2
sudo python setup.py install

Por supuesto, esto no es una solución para instalar pip 8.1.2 a través de pip install --upgrade, pero debería silenciar la advertencia hasta que se resuelva este problema .

Sethmlarson
fuente
Hay un comentario en ese hilo que sugiere que esto está relacionado en parte con ubuntu parcheando su versión empaquetada de pip para evitar que actualice los paquetes instalados aptos.
Amias
5

sudo -H python -m pip install --upgrade pipResolverá su problema. Como alguien mencionó anteriormente, aunque el sistema específico requiere python 2.7 para ciertas cosas ... Dicho esto, puede actualizar pip sin afectar negativamente eso, pero también puede instalar 3.5 junto con si lo desea.

Este -Hes un indicador sudoque solicita que la política de seguridad establezca la variable de entorno HOME en el directorio principal especificado por la entrada de la base de datos de contraseñas del usuario objetivo. Dependiendo de la política, este puede ser el comportamiento predeterminado.

Afligido
fuente
Si alguien quiere rechazar una publicación pensada como esta, realmente debería decir por qué esta es una forma pobre.
javadba
Porque están enojados y necesitan desahogarse con alguien enojado. Enojado con lo que pides, la vida en general. desbordamiento de pila se ha convertido en más que un lugar para venir a ser acosados en.
Afligidos
2

Desinstale pip usando apt-get e instálelo usando easy_install. Funcionó para mi.

sudo apt-get remove python-pip
sudo easy_install pip
toliveira
fuente
easy_install falla. Consigo bash: /usr/bin/pip: No such file or directory. Y tampoco puedo purgar pip ahora. Espero que esto no haya roto completamente el pip en mi máquina.
Dean Schulze