GNU/Linux >> Tutoriales Linux >  >> Debian

Python:¿la forma correcta de actualizar Pip en Stretch Debian?

He revisado algunas notas de que no es una buena idea hacer una actualización de pip usando el comando sudo. Mi pregunta es si no doy sudo obtengo errores de permiso. ¿Cómo puedo resolver esto? Además, ¿cuál es la razón por la que no se sugiere sudo para actualizar pip?

$python -m pip install --upgrade pip
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Collecting pip
  Using cached https://files.pythonhosted.org/packages/54/0c/d01aa759fdc501a58f431eb594a17495f15b88da142ce14b5845662c13f3/pip-20.0.2-py2.py3-none-any.whl
Installing collected packages: pip
  Found existing installation: pip 19.2.3
    Uninstalling pip-19.2.3:
      Successfully uninstalled pip-19.2.3
  Rolling back uninstall of pip
  Moving to /home/abc/.local/bin/pip
   from /tmp/pip-uninstall-V4F8Pj/pip
  Moving to /home/abc/.local/bin/pip2
   from /tmp/pip-uninstall-V4F8Pj/pip2
  Moving to /home/abc/.local/bin/pip2.7
   from /tmp/pip-uninstall-V4F8Pj/pip2.7
  Moving to /home/abc/.local/lib/python2.7/site-packages/pip-19.2.3.dist-info/
   from /home/abc/.local/lib/python2.7/site-packages/~ip-19.2.3.dist-info
  Moving to /home/abc/.local/lib/python2.7/site-packages/pip/
   from /home/abc/.local/lib/python2.7/site-packages/~ip
ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/pip-20.0.2.dist-info/top_level.txt'
Consider using the `--user` option or check the permissions.

WARNING: You are using pip version 19.2.3, however version 20.0.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

Respuesta aceptada:

Nunca actualice la versión de herramientas proporcionada por el sistema operativo fuera del sistema de administración de paquetes, porque si se lanza un nuevo paquete, se sobrescribirán los cambios.

Así que sudo pip install --upgrade pip es algo malo El sistema de paquetes del sistema operativo cree que controla los archivos y los ha anulado. Puede resultar en un comportamiento extraño, incluida la instalación de un más antiguo versión que hayas instalado previamente!

Si desea una versión más nueva, puede instalarla en el perfil de usuario

% pip install --upgrade --user pip
Collecting pip
  Downloading https://files.pythonhosted.org/packages/54/0c/d01aa759fdc501a58f431eb594a17495f15b88da142ce14b5845662c13f3/pip-20.0.2-py2.py3-none-any.whl (1.4MB)
    100% |################################| 1.4MB 615kB/s 
Installing collected packages: pip
Successfully installed pip-20.0.2

Esto instalará la última versión en $HOME/.local/bin

% ls -l .local/bin/pip                                           
-rwxr-xr-x 1 sweh sweh 223 Feb 16 21:49 .local/bin/pip

Si tiene $HOME/.local/bin en su RUTA, entonces siempre elegirá los programas instalados por el usuario pip.

Sin embargo, la mayoría de las veces no necesita para actualizar pip .


Debian
  1. Construyendo kernels de Linux a la manera de Debian

  2. Cómo actualizar Debian 8 Jessie a Debian 9 Stretch

  3. Cómo cambiar la versión predeterminada de Python en Debian 9 Stretch Linux

  4. Cómo instalar Pip en Ubuntu 18.04, Debian 9 y Linux Mint 19

  5. Cómo actualizar Debian 8 a Debian 9 Stretch

Cómo actualizar de Debian 9 Stretch a Debian 10 Buster

Cómo actualizar de Debian 8 Jessie a Debian 9 Stretch

Actualice Debian 9 Stretch a Debian 10 Buster desde la línea de comandos

Cómo instalar Pip en Debian 9 Stretch

Cómo instalar Python 3.7 en Debian 9 Stretch

Cómo actualizar Debian 9 Stretch a Linux Debian 10 Buster