GNU/Linux >> Linux の 問題 >  >> Debian

Python – Stretch DebianでPipをアップグレードする正しい方法は?

sudoコマンドを使用してpipアップグレードを実行することはお勧めできません。私の質問は、sudoを指定しないと、パーミッションエラーが発生することです。どうすればこれを解決できますか?また、pipをアップグレードするためにsudoが提案されない理由は何ですか?

$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.

承認された回答:

パッケージ管理システムの外部でOSが提供するバージョンのツールをアップグレードしないでください。新しいパッケージがリリースされると、変更が上書きされるためです。

したがって、sudo pip install --upgrade pip 悪いことです。 OSパッケージシステムは、それがファイルを制御していると信じており、あなたはそれらをオーバーライドしました。 古いのインストールなど、奇妙な動作が発生する可能性があります 以前にインストールしたバージョンよりも!

新しいバージョンが必要な場合は、ユーザープロファイルにインストールできます

% 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

これにより、最新バージョンが$HOME/.local/binにインストールされます。

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

$HOME/.local/binがある場合 PATHで、ユーザーpipがインストールされたプログラムを常に取得します。

ただし、ほとんどの場合、必要はありません pipをアップグレードするには 。


Debian
  1. LinuxカーネルをDebianの方法で構築する

  2. Debian8JessieをDebian9Stretchにアップグレードする方法

  3. Debian 9StretchLinuxでデフォルトのPythonバージョンを変更する方法

  1. Debian9にPIPをインストールする方法

  2. Ubuntu 18.04、Debian 9、LinuxMint19にPipをインストールする方法

  3. Debian8をDebian9Stretchにアップグレードする方法

  1. Debian 9StretchLinuxにDiscordをインストールする

  2. Debian 9StretchLinuxでPythonDjango開発環境をセットアップする

  3. Debian9StretchをDebian10Busterにアップグレードする方法