2013-03-05 9 views
286

ピップ管理パッケージを更新することはできますが、ピップ自体を更新するにはどうすればよいですか? pip --versionによると、現在私のvirtualenvにpip 1.1がインストールされており、最新のバージョンに更新したいと考えています。ピップ自体を仮想環境内から更新するにはどうすればよいですか?

そのコマンドは何ですか? distributeを使用する必要がありますか?またはnative pipまたはvirtualenvコマンドがありますか?私はすでにpip updatepip update pipを試してみましたが、成功しませんでした。

+18

'pip install --upgrade pip'?これはもう一つのPyPIパッケージです。 – Cairnarvon

+0

このコマンドは、 "/ Users/zak/MyProject/venv/bin/pip install:error:そのようなオプションはありません:--update"を返します。 – zakdances

+3

これは '--upgrade'で、' --update'ではなく、残念です。すぐに私の投稿を編集しましたが、間違った時間にそれを見たに違いありません。 – Cairnarvon

答えて

533

pipは他のものと同様にPyPI packageです。あなた自身にあなたが任意のパッケージをアップグレードするのと同じ方法でアップグレードするためにそれを使用することができます。Windows上で

pip install --upgrade pip 

recommended commandです:

python -m pip install --upgrade pip 
+31

Windowsでは、pipを使用してpipをアップグレードしようとするアクセス権の問題がありました。代わりに私はeasy_installを使ってアップグレードしました: 'easy_install pip' – bsa

+6

このピップはアップグレードしたようです(1.1 - > 1.4)が、" pip --version "を実行すると古いバージョン1.1が表示されます。 virtualenvを無効にして再度アクティブにしようとしましたが、古いバージョンを表示しています。 – Zitrax

+26

Windowsでは、おそらく 'python -m pip install --upgrade pip'のようなコマンドを使って、scriptsディレクトリからpip.exeを実行しないようにしてください。 – bialix

32

より安全な方法はrun pip though a python moduleにある:

python -m pip install -U pip 

Windowsでは、自分自身を置き換えるバイナリに問題があるようですが、この方法はその制限を回避して動作します。

+5

これは、それ自身の新しいバージョンを検出した場合、これはピップ自体が推奨するものです。 – tephyr

+1

私はこれがより安全な理由は、一部のOS(Windows)ではpipを直接実行するだけで実行ファイルにファイルロックが作成され、更新ができなくなるからです。 Pythonを呼び出してモジュールに直接ロードするように指示することで、実行可能ファイルへのアクセスを避けることができます。 – jpmc26

0

は、私の場合には、これはそれ自体で更新が動作しないように、私のピップのバージョンが壊れていた私の場合は

python3 -m pip install --upgrade pip 
5

安定Debianでは、端末のコマンドラインから働いていました。

修正:

(inside virtualenv):easy_install -U pip 
+0

私の場合もそうでした。私は他の方法を試しましたが、これだけが私を助けます。ありがとう! – levif

+0

これはDebianで私にとっては唯一の方法です。 virtualenv内からpythonまたはpipを使用してpipをアップグレードすると、venvの外にある既存のpipをアンインストールすることが拒否されたため、失敗します。 – user3748764

1

私はDebianのジェシーの下で、上記のこれらのソリューションのすべてを試してみました。 debianパッケージマネージャが最新のバージョンをコンパイルするだけなので、動作しません。これはバージョン6.0.xに相当する1.5.6です。 spaCy(正しく機能するには--no-cache-dirオプションが必要)のように、pipを前提条件として使用する一部のパッケージは結果として機能しません。

だから、これらの問題を解決するため、実際の最善の方法は、get-pip.pyは、次のようにWebサイトから、wgetのを使用するか、またはカール使用してダウンロードを実行することです:

wget https://bootstrap.pypa.io/get-pip.py -O ./get-pip.py 
python ./get-pip.py 
python3 ./get-pip.py 

これは、現在のバージョンをインストールしますこれを書いている時点では、Debianが提供するものを超えている9.0.1です。

$ pip --version 
pip 9.0.1 from /home/myhomedir/myvirtualenvdir/lib/python2.7/dist-packages (python 2.7) 
$ pip3 --version 
pip 9.0.1 from /home/myhomedir/myvirtualenvdir/lib/python3.4/site-packages (python 3.4) 
0

私のためにこれを動作させるには、Pythonコマンドプロンプト(VSコードのWIN10)を使用してPythonディレクトリをドリルダウンしなければなりませんでした。私の場合、それは私の "AppData \ Local \ Programs \ Python \ python35-32"ディレクトリにあります。そこから私はコマンドを実行しました...

python -m pip install --upgrade pip 

これはうまく行きました。

関連する問題