GNU/Linux >> Znalost Linux >  >> Debian

Python – správný způsob, jak upgradovat Pip v Stretch Debianu?

Prošel jsem několik poznámek, že není dobrý nápad provádět upgrade pip pomocí příkazu sudo. Moje otázka zní, pokud nedávám sudo, dostanu chyby oprávnění. Jak to mohu vyřešit? Také, jaký je důvod, proč není sudo navrženo pro upgrade 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.

Přijatá odpověď:

Nikdy neupgradujte verzi nástrojů poskytovanou OS mimo systém správy balíčků, protože pokud bude vydán nový balíček, přepíše vaše změny.

Takže sudo pip install --upgrade pip je špatná věc. Systém balíčků OS věří, že kontroluje soubory a vy jste je přepsali. Výsledkem může být neobvyklé chování, včetně instalace staršího verzi, než jste si dříve nainstalovali!

Pokud chcete novější verzi, můžete si ji nainstalovat do uživatelského profilu

% 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

Tím se nainstaluje nejnovější verze do $HOME/.local/bin

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

Pokud máte $HOME/.local/bin na vaší PATH pak vždy vyzvednete programy nainstalované uživatelem pip.

Většinu času však nepotřebujete pro upgrade pip .


Debian
  1. Vytváření linuxových jader způsobem Debian

  2. Jak upgradovat Debian 8 Jessie na Debian 9 Stretch

  3. Jak změnit výchozí verzi pythonu na Debian 9 Stretch Linux

  1. Jak nainstalovat PIP na Debian 9

  2. Jak nainstalovat Pip na Ubuntu 18.04, Debian 9 a Linux Mint 19

  3. Jak upgradovat Debian 8 na Debian 9 Stretch

  1. Nainstalujte The Discord na Debian 9 Stretch Linux

  2. Nastavte vývojové prostředí Python Django na Debian 9 Stretch Linuxu

  3. Jak upgradovat Debian 9 Stretch na Debian 10 Buster