システムにpip
およびpython-pip
を取得するためにpython-pip3
およびpip3
パッケージをインストールしたと考えてみましょう。
私が理解できる限り、pip
sは pypi.org のパッケージマネージャーです。 apt update
、apt upgrade
、およびapt dist-upgrade
に似た機能があると思います。
すべてのpythonモジュールをpip
またはpip3
で最新の安定バージョンに正しくアップグレードする方法
これは、古いバージョンのpipで機能します。
pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U
私はこれをpip2とpip3でテストしましたが、成功するかどうかはわかりませんが、もっと良い方法があるかどうかはわかりません。
pip freeze | sed 's/==.*//' | xargs pip install -U
システムではなく、ユーザーアカウントにインストールされたパッケージのみをアップグレードする場合は、--user
およびpip freeze
の後にpip install
を追加できます。システムPythonパッケージをアップグレードする場合は、pip install
をSudo
で実行する必要があります。そうしないと、アクセス許可拒否エラーが発生する可能性があります。
Pipには、Debian/Ubuntuにあるような「最新の安定版」という概念はありません。
Debian/Ubuntuの「最新の安定した」パッケージは、ディストリビューションの他のすべてのパッケージで正しく動作するようにテストされています。
Pipを使用すると、すべてのpythonモジュールをアップグレードできますが、すべてのモジュールをリポジトリで利用可能な最新バージョンにアップグレードします。すべてが引き続き機能することを確認するのはお客様の責任です。新しいバグまたは互換性のない変更による問題がある可能性があります。
そのため、可能な破損を修復する準備ができていない限り、OSが提供するpythonモジュールをpip(オプション:--system)でアップグレードしないでください。
ユーザー環境にインストールされているすべてのモジュールをアップグレードするか、仮想環境内にアップグレードする方が理にかなっています。コマンドは次のとおりです。
pip freeze | awk '{print $1}' | xargs pip install -U
さまざまなディストリビューションやその他のケースのユーザーについては、以下を確認してください。
pip help install
デフォルトの動作(--userまたは--systemオプションなし)がDebianの派生物から標準のpythonに変わるためです。