pipを使用してパッケージを更新/アップグレードする方法は?


168

pipを使用してパッケージを更新する方法は何ですか?それらは機能しません:

pip update
pip upgrade

私はこれが単純な質問であることを知っていますが、見つけるのが簡単ではないために必要です(pipのドキュメントがポップアップせず、スタックオーバーフローからの他の質問は関連していますが、それについては正確ではありません)

回答:


274

方法は

sudo pip install [package_name] --upgrade

要するに

sudo pip install [package_name] -U

sudo アクションを確認するためにrootパスワードの入力を求められます。

rootパスワードがない場合(管理者でない場合)は、おそらくvirtualenv操作してから、以下を削除する必要がありsudoます。

pip install [package_name] --upgrade

2
以下のようにpip install --help言いました:-U, --upgrade Upgrade all specified packages to the newest available version.。したがって、大文字-Uではなく大文字にする必要があり-uます。
Peter Liang

25
あなたが行うとき、そのような一般的なオプションが示されていないのはなぜpip --help...私には謎です
ハスキー

3
@ハスキー-はい、同じように、彼らがupgradeあなたが答えで見たものを実行するコマンドを作成しないのはなぜ良い質問ですか?(意味、「アップグレード」を使用する場合、それは単にinstall+ --upgradeが行うことを行います。)一種の「エイリアス」。
bshea

10

非特定のパッケージとより一般的な解決策については、どのパッケージを更新できる/すべきかをチェックするツールであるpip-reviewをチェックアウトできます。

$ pip-review --interactive
requests==0.14.0 is available (you have 0.13.2)
Upgrade now? [Y]es, [N]o, [A]ll, [Q]uit y

3
これは質問に直接答えるものではありませんが、一部の人々がこのメッセージを探すときに実際に探すものかもしれません。
borgr

8

インストールされているすべてのパッケージを更新するtl; drスクリプト

1つのパッケージのみをアップグレードする場合は、@ borgrの回答を参照してください。すべてのパッケージを一度にアップグレードする必要がある、または少なくとも楽しいと感じることがよくあります。現在、pipはそのアクションをネイティブでサポートしていませんが、shスクリプトを使用すると十分簡単です。あなたは使用しpip listawk(またはcuttail)、およびコマンド置換。私の通常のワンライナーは:

for i in $(pip list -o | awk 'NR > 2 {print $1}'); do sudo pip install -U $i; done

これはルートパスワードを要求します。これにアクセスできない--user場合は、pipまたはvirtualenvのオプションを調べる必要があるかもしれません。


7
import subprocess as sbp
import pip
pkgs = eval(str(sbp.run("pip3 list -o --format=json", shell=True,
                         stdout=sbp.PIPE).stdout, encoding='utf-8'))
for pkg in pkgs:
    sbp.run("pip3 install --upgrade " + pkg['name'], shell=True)

xx.pyとして保存してから、Python3
xx.py 環境を実行します
:python3.5 + pip10.0 +


私はこのソリューションが好きです。更新中にパッケージ名を表示する印刷を追加しました:print('updating ', pkg['name'])
pvoj

4

Python3.4以降のpipをアップグレードするには、pip3を次のように使用する必要があります。

sudo pip3 install pip --upgrade

これは/usr/local/lib/python3.X/dist-packagesにあるpipをアップグレードします

それ以外の場合、Python2.7のpipをアップグレードするには、次のようにpipを使用します。

sudo pip install pip --upgrade

これは/usr/local/lib/python2.7/dist-packagesにあるpipをアップグレードします


7
これはOPが要求したものではありません。彼は、PIP自体ではなく、特定のパッケージをアップグレードする方法を尋ねています。
カンマ区切り

それにもかかわらず、これらの他の回答の中で
ここにいることは
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.