pipをアップグレードできません


21

LinuxとUbuntuは初めてです。

私はpipをアップグレードしようとしていましたが、これに遭遇しました...

$ sudo pip install --upgrade pip
Cannot fetch index base URL https://pypi.python.org/simple/
Downloading/unpacking pip from https://pypi.python.org/packages/py2.py3/p/pip/pip-7.1.0-py2.py3-none-any.whl#md5=b108384a762825ec20345bb9b5b7209f
  Downloading pip-7.1.0-py2.py3-none-any.whl (1.1MB): 1.1MB downloaded
Installing collected packages: pip
  Found existing installation: pip 1.5.4
    Not uninstalling pip at /usr/lib/python2.7/dist-packages, owned by OS
Successfully installed pip
Cleaning up...

理由は何ですか?


2
試すaptすなわちを sudo apt-get install python-pipアップグレードするためにpip
heemayl

うーん...その最新バージョンと言う...これは、apt-getとpipがパッケージを異なるソースから取得するためですか?(つまり、apt-getとpypiの違いでしょうか?)「python-pipはすでに最新バージョンです。」
スペンサーリー

それは、それが最新であることを意味します
ティム

1
実行を除く:pip list --outdated pipは以下を返します:pip(現在:1.5.4最新:7.1.0)要件を満たすダウンロードが見つかりませんでしたpython-apt一部の外部ホストファイルは無視されました(--allow-を使用)許可する外部python-apt)。
スペンサーリー

回答:


3

編集:

pip install -U pip

または

pip install --upgrade pip

-Uはの省略形です--upgrade


古い答え:

aptシステムとPyPI使用する2つの異なるメカニズム。

Ubuntuのリポジトリでは、多くのモジュールがpythonパッケージとして利用できますが、PyPI(The Python Package Index)に比べると数は多くありません。パッケージのアップグレードについて一貫性を保つには、インストールに最初に使用した方法を考慮する必要があります。

したがって、PyPI使用するパッケージ(モジュール)をインストールした場合は、パッケージ(モジュール自体を含む)のアップグレードにpip使用pipする必要があります。一方、システムを使用して(パッケージとして)モジュールをインストールした場合は、それを再度アップグレードするために使用する必要があります。PyPIpipaptapt

一言で言えば、次を実行python-pipして最新バージョンにアップグレードします。

sudo apt-get install python-pip

4
これは質問に答えません。python-pipはpipをアップグレードしません。pip自体をアップグレードできないような方法で、非常に古いバージョンのpipのみをインストールします。
セリン

@Cerin答えを徹底的に読みましたか?python-pipは(公式)ユニバースリポジトリからのパッケージですが、からeasy_installインストールされPyPIます。いつものように、公式リポジトリには、システムを安定させる(および依存関係を解決する)最新のパッケージが含まれていません。
heemayl

6
@ heemayl、OPはpipのアップグレード方法を尋ね、pipの古いバージョンをインストールするように効果的に伝えました。正しい解決策は、python-pipをアンインストールし、PyPIからインストールすることです。python-pipをインストールしても、pipはアップグレードされません。
セリン

22

でインストールしてみてくださいeasy_install

easy_install -U pip

1
この答えがまだ有効かどうかわからない?Stack Overflowのこの投稿では、「easy_installを介してpipを使用する理由」を尋ねました。その中で、答えの1つは次のとおりです。 OS X 10.5-10.8のバージョン。」
clearkimura

1
質問に焦点を当てます。質問は「pipをアップグレードできません」です。easy_installを使用してアップグレードする方法をお勧めします。2015年12月に動作します。
NamPNQ

ダウンボッターに、この回答が以前にダウンボットされた理由を説明してください。この記事の下に引用されている最近のコメントを見つけることができました:「ByteCommander提案からのeasy_install -U pipは私のために働いた。-12:23のタンパ6月1日」。easy_install報告によると、この方法は一部のユーザーに有効です。
clearkimura

1
これは(でsudo)私のために働いた。以前は、sudo apt-get install python-pip私に与えていたpython-pip is already the newest version (8.1.1-2ubuntu0.4)9.0.1が利用可能であったのに対し、しかしによってインストールすることができませんでしたpip install --upgrade pip(8.1.1で変わらないバージョンを残しています)。easy_installバージョンがアップグレードされた後。
カートピーク

これは機能しますが、システム管理ファイルを新しいpipバージョンに置き換えますpython-pipパッケージを再インストールすると、ファイルが再び置き換えられます。パッケージのバージョンが存在することと正しいことを前提とする他のコードは破損する可能性があり(小さいがゼロではない可能性)、将来的に新しいバージョンにアップグレードするときに削除されない余分なファイルをeasy_install追加する可能性があります。python-pip
マルタインピータース

7

私は長い間同じ問題を抱えていて、今日の解決策を見つけました。python-pipを介してpipをインストールすると、非推奨のLinuxサーバーからダウンロードします。Pythonサーバーからダウンロードする必要があります。これを解決するには、次を実行します。

sudo apt-get purge pip
sudo apt-get install python-setuptools
sudo apt-get install python-dev 
sudo easy_install pip 
pip install pip --upgrade 

1
問題の原因を説明してくれてありがとう。下にスクロールしてこの答えを見る前に、自分でこれを理解しなければなりませんでした。
G・ゴードンWorleyのIII

これらのコマンド(2〜3)は間違っています。
ジョエルGマシュー

@JoelGMathewはapt-getの後にワードインストールするだけでいい
nurgasemetey

2

実際には、「pip」スクリプトを編集できます。

ルートから:

$ which pip  # -> prints 'pip' location

$ nano `which pip` # -> open with your editor, note the backticks!

次の__requires__ような最新のpipバージョンに置き換えます。

__requires__ = 'pip==7.1.2'

'load_entry_point'呼び出しで行を編集するよりも:

load_entry_point(__requires__, 'console_scripts', 'pip')()

そして:

$pip -V
pip 7.1.2 from /usr/local/lib/python2.7/dist-packages (python 2.7)

また、いくつかのパッケージをインストールするには、setuptoolsパッケージを更新する必要があります。


2

これは、システムパッケージによって提供されるpipのバージョン間の競合が原因です。 python-pipによって提供されるpipのバージョンと、pip自体を介してPyPIによって提供されるバージョンとのます。

これを修正するには、で削除python-pipsudo apt-get purge python-pipます。

すでに古いバージョンのpipを使用して新しいバージョンをインストールしている場合、更新されたバージョンはに残り/usr/local/binます。そうでない場合は、Pipの最新バージョンを最初からインストールできます。

curl --silent --show-error --retry 5 https://bootstrap.pypa.io/get-pip.py | sudo python2.7


1

実行sudo -H pip3 install --upgrade pipしてpip3をアップグレードしてみてください(Python 3の場合)。逆に、sudo -H pip2 install --upgrade pippipをアップグレードすることもできます(Python 2の場合)。


1

私がsshに参加したリモートマシンで作業しているときに、この問題に遭遇しました。python 3をインストールしたばかりで、pipとapt-getの両方を使用してアップグレードしようとしても、pipをアップグレードできませんでした。

リモートサーバーからログアウトして再度ログインすると、修正されました。


0

python-pipsudoユーザーでaptリポジトリからインストールした場合-実行sudo -H install --upgrade pip、PIPモジュールのインストールと同じです。

ここで、16.04のコンソールからの出力

..... Successfully installed requests
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
:~$ pip install --upgrade pip
Collecting pip
  Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB)
    100% |████████████████████████████████| 1.3MB 672kB/s 
Installing collected packages: pip
Successfully installed pip-8.1.1
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
:~$ sudo -H pip install --upgrade pip
Collecting pip
  Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB)
    100% |████████████████████████████████| 1.3MB 692kB/s 
Installing collected packages: pip
  Found existing installation: pip 8.1.1
    Not uninstalling pip at /usr/lib/python2.7/dist-packages, outside environment /usr
Successfully installed pip-9.0.1
:~$ 

また、参照PIPの-Hフラグは何ですか?/programming/28619686/what-is-the-h-flag-for-pip


0

私は初心者ですので、確かではありませんが、おそらくPython 2と3の違いに関連するものです。スーパーユーザーである必要はないと思いますが、アップグレードするpip3代わりに簡単に使用できpipますpippip3 install --upgrade pip


0

pip 9.0.3を18.0バージョンにアップグレードすると、同様の問題が発生しました。

したがって、アップグレード時に最初にアンインストールが行われ、次に最新バージョンがインストールされます。ただし、最初の試行で「pip-9.0.3のアンインストールに成功しました」というメッセージが表示されました。

その後の試行では、同じエラーが発生します。これは、pip-9.0.3がアンインストールされているためです。受け入れられた答えのように、私はWindows 10システムに管理者としてpipをインストールし、最新バージョンを入手してからすべてがうまくいきました。

お役に立てれば。

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