Pip管理のパッケージをアップデートすることはできますが、どうすればpip自体をアップデートできますか? pip --version
によると、私は現在私のvirtualenvにpip 1.1をインストールしています、そして私は最新バージョンにアップデートしたいです。
そのためのコマンドは何ですか? distributeを使用する必要がありますか?それともネイティブのpipコマンドまたはvirtualenvコマンドがありますか?私はすでにpip update
とpip update pip
を試しましたが、成功しませんでした。
pip
は単なる PyPIパッケージです 他のものと同じです。他のパッケージをアップグレードするのと同じ方法で、それを使って自分自身をアップグレードすることができます。
pip install --upgrade pip
Windowsでは、 推奨されるコマンド は次のとおりです。
python -m pip install --upgrade pip
より安全な方法は pythonモジュールを介してpipを実行することです :
python -m pip install -U pip
Windowsでは、自分自身を置き換えようとするバイナリに問題があるように見えますが、この方法はその制限を回避します。
私の場合、私のpipバージョンは壊れていたので、それ自体ではアップデートは機能しません。
修正:
(inside virtualenv):easy_install -U pip
私はDebian Jessieの下で上記のすべての解決策を試してみました。なぜならそれはただ最新のバージョンをdebianパッケージマネージャによってコンパイルするだけなので1.5.6であり、これはバージョン6.0.xに相当します。前提条件としてpipを使用するパッケージの中には、spaCy(正しく機能するためにオプション--no-cache-dirが必要)など、結果として機能しないものがあります。
したがって、これらの問題を解決するための実際の最善の方法は、 get-pip.py をwgetを使用して、Webサイトから、または次のようにcurlを使用してダウンロードすることです。
wget https://bootstrap.pypa.io/get-pip.py -O ./get-pip.py
python ./get-pip.py
python3 ./get-pip.py
これは、このソリューションを書いている時点で9.0.1である現在のバージョンをインストールします。これはDebianが提供するものをはるかに超えています。
$ 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)
私の場合、これはDebian Stableの端末コマンドラインから機能しました。
python3 -m pip install --upgrade pip
管理者権限でコマンドプロンプトを開き、次のコマンドを繰り返します。
python -m pip install --upgrade pip
これを機能させるには、PythonコマンドPrompt(VS CODEのWIN10)を使用してPythonディレクトリにドリルダウンする必要がありました。私の場合、それは私の "AppData\Local\Programs\Python\python35-32"ディレクトリにありました。そこから今、私はコマンドを実行しました...
python -m pip install --upgrade pip
これはうまくいったし、行ってもいい。
とても簡単です。 https://bootstrap.pypa.io/get-pip.py からpipをダウンロードするだけです。ファイルを何らかのフォルダーまたはデスクトップに保存します。私は自分のDドライブにファイルを保存しました。コマンドプロンプトからpipをダウンロードしたフォルダに移動します。それからそこにタイプしてください
python -get-pip.py
単一行Pythonプログラム
私が見つけた最良の方法は、公式のget-pipスクリプトをダウンロードして実行する単一行プログラムを書くことです。コードについては以下を参照してください。
公式ドキュメントではget-pipスクリプトをダウンロードするためにcurlを使用することを推奨していますが、私はwindows上で作業し、curlがインストールされていないので、スクリプトをダウンロードして実行するのにpython自体を使用することを好みます。
Python 3を使ってコマンドラインから実行できる単一行プログラムは次のとおりです。
python -c "import urllib.request; exec(urllib.request.urlopen('https://bootstrap.pypa.io/get-pip.py').read())"
この行は インストールノート に従って正式な "get-pip.py"スクリプトを取得し、 "exec"コマンドでスクリプトを実行します。
Python 2では、 "urllib.request"を "urllib2"に置き換えます。
python -c "import urllib2; exec(urllib2.urlopen('https://bootstrap.pypa.io/get-pip.py').read())"
注意事項
pythonスクリプトを盲目的に実行することは本質的に危険です。このため、公式の指示では、スクリプトをダウンロードして実行前に検査することを推奨しています。
そうは言っても、多くの人々は実際にコードを検査せずに実行するだけです。この1行のプログラムはそれをより簡単にします。
私は同様の状況にあり、urllib3パッケージを更新したいと思いました。私にとってうまくいったのは、
pip3 install --upgrade --force-reinstall --ignore-installed urllib3==1.25.3
私はC:\ Python\Python36にPythonをインストールしたので、Windowsのコマンドプロンプトに行き、 "cd C:\ Python\Python36"と入力して正しいディレクトリに移動します。良い!
ラズベリーパイでも同じような問題がありました。
問題はhttpがSSLを必要とするので、私はそれがhttpsを使用することを強制する必要があるということでした。
Sudo pip install --upgrade pip --index-url=https://pypi.python.org/simple
または
Sudo pip-3.2 --upgrade pip --index-url=https://pypi.python.org/simple/
pipバージョン10には問題があります。それはエラーとして現れるでしょう:
ubuntu@mymachine-:~/mydir$ Sudo pip install --upgrade pip
Traceback (most recent call last):
File "/usr/bin/pip", line 9, in <module>
from pip import main
ImportError: cannot import name main
解決策は、アップグレードして実行する環境にあることです。
Sudo myvenv/bin/pip install --upgrade pip
ただよりもむしろ
Sudo pip install --upgrade pip
Venvを使用している場合は、pip installを更新すると、venv pipではなくシステムpipがアップグレードされます。 pipブートストラップパッケージもアップグレードする必要があります。
python3 -m pip install --upgrade pip setuptools wheel
'pip install --upgrade pip'を使用したpipのアップグレードは、証明書の問題が原因で常に機能するとは限りません。 SSL証明書の確認に問題がありました:[SSL:TLSV1_ALERT_PROTOCOL_VERSION] tlsv1アラートプロトコルバージョン
私は、仮想環境で1 lineコマンドを使うのが好きです。
curl https://bootstrap.pypa.io/get-pip.py | python -
それともあなたがそれをボックス幅でインストールしたいならば、あなたは必要とするでしょう
curl https://bootstrap.pypa.io/get-pip.py | Sudo python -
自動化スクリプトで実行しているときに出力を黙らせるには、curlに -s フラグを付けます。
Windows 7の私のラップトップで最新バージョンのpipをインストールする正しい方法は次のとおりです。
python.exe -m pip install --upgrade pip