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
.