web-dev-qa-db-ja.com

Pythonパッケージをインストールできない[SSL:TLSV1_ALERT_PROTOCOL_VERSION]

pipを使用してPythonライブラリをインストールしようとしていますが、SSLエラーが発生します。

~/projects/base  pre-master±  pip install xdict

Collecting xdict
  Could not fetch URL https://pypi.python.org/simple/xdict/: There was a problem confirming the ssl certificate: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590) - skipping
  Could not find a version that satisfies the requirement xdict (from versions: )
No matching distribution found for xdict

ピップバージョン:ピップ9.0.1

このエラーを修正する方法

155

次のようにpipをアップグレードします。

curl https://bootstrap.pypa.io/get-pip.py | python

注:仮想環境でない場合は、上記のSudo pythonを使用する必要がある場合があります。

pipを使用してpipをアップグレードすると、pip install --upgrade pipも正しくアップグレードされないことに注意してください。これは単なる鶏卵の問題です。pipはTLSを使用しない限り機能しません> = 1.2。)

この詳細な回答 で述べたように、これは最近のpipのTLS非推奨によるものです。 Python.orgサイトには、TLSバージョン1.0および1.1の サポートの停止 があります。

Pythonステータスページから:

Completed-段階的電圧低下は終了し、TLSv1.0およびTLSv1.1は無効になりました。 4月11日15:37 UTC


PyCharm(virtualenv)ユーザーの場合:

  1. シェルで仮想環境を実行します。 (「./venv/bin/activate」を独自のパスに置き換えてください)

    source ./venv/bin/activate
    
  2. アップグレードを実行する

    curl https://bootstrap.pypa.io/get-pip.py | python
    
  3. PyCharmインスタンスを再起動し、PreferenceでPythonインタープリターを確認します。

423
Anupam

OS Xで@ Anupamの回答に従うと、実行した権限にかかわらず、次のようなエラーが表示されました。

EnvironmentErrorのためパッケージをインストールできませんでした:[Errno 13]アクセスが拒否されました:...

最終的にはPyPIから新しいpipパッケージ(9.0.3)を私のブラウザから直接ダウンロードすること - https://pypi.org/simple/pip/ から内容を抽出してからローカルでパッケージをインストールすること:

pip install ./pip-9.0.3/

これは私の[SSL: TLSV1_ALERT_PROTOCOL_VERSION]エラーを修正しました。

9
T Dub

ローカルバージョンをアップグレードするために、私は少し変種を使いました:

curl https://bootstrap.pypa.io/get-pip.py | python - --user

この問題は、 this Gist で説明しているように、pipとパッケージをホームディレクトリの下に置くと発生します。

5
Hbar

次の解決策は私のために働きました:

brew install python2

またpipをバージョン1.10.1にアップグレードしました。

5

@Anupam の解決策は私のために働いた。しかし、私はSudoを使用し、私の仮想Python環境の正確な位置を指定しなければなりませんでした:

curl https://bootstrap.pypa.io/get-pip.py | Sudo /Users/{your user name}/{path to python}/bin/python
5
Ilya Gazman

TLSのバージョンを確認してください。

python2 -c "import urllib2,json; print(json.loads(urllib2.urlopen('https://www.howsmyssl.com/a/check').read())['tls_version'])"

あなたのTLSのバージョンが1.2未満の場合は、PyPIリポジトリが初期のTLSを非推奨にするためのブラウンアウト期間にあるため、アップグレードする必要があります。

ソース - あなたのPythonをアップグレードする時間:TLS v1.2はまもなく必須になる

次のコマンドを使用してTLSのバージョンをアップグレードできます。

Sudo apt-get update && Sudo apt-get install openssl libssl-dev

これで問題は解決するはずです。がんばろう!

編集:あなたはTLSのバージョンに関係なくあなた自身のプライベートなpythonパッケージリポジトリを使ってパッケージをダウンロードすることができます。 プライベートPythonパッケージリポジトリ

3
Vithulan

既存の修正をすべて試しましたが、機能しませんでした

https://www.python.org/downloads/mac-osx/ に.pkgをダウンロードして、python 2.7を再インストールします(pipもインストールします)。

インストールダウンロードpkg後に私のために働く

2
keypoint

Python 2 WIN10ユーザーの場合:

1.Pythonを完全にアンインストールし、すべてのフォルダを含めます。

2.最新のpython-2.7.msiを取得してインストールします(ver 2.7.15)。

3.ステップ2の後、pipもインストールされていることがわかります。

4.Now、system'envが変更されていない場合は、pipを使用して今すぐパッケージをインストールできます。「tlsv1 alert protocol version」は表示されません。

2
Optimus Prime

私もこの問題に遭遇しました。根本的な問題は、Python 2.7バージョン<2.7.9のsslライブラリがpipメカニズムと互換性がなくなったことです。

あなたがWindows上で実行していて、あなた(私たちのような)が互換性のないバージョンの2.7から簡単にアップグレードできないなら、FWIW、あなたが最新バージョンのPythonの別のインストールからコピーしたもの15)他のマシンにインストールする場合

    Lib\ssl.py
    libs\_ssl.lib
    DLLs\_ssl.dll

sSLレイヤをサポートされているレイヤに効果的に「アップグレード」します。それから、pipをアップグレードするためでさえも、pipを再び使用することができました。

2
W. Sadkin

これは私のために働きました。 pythonの前にSudoを追加する

curl https://bootstrap.pypa.io/get-pip.py |Sudo python
2
Sugoi Reed

私はまた私のwindows10でこの問題にぶつかり、すべての答えを試したが私の問題を解決しなかった。

C:\ python367\Scripts> pipインストールFlask

Flaskの収集Flaskの要件を満たすバージョンを見つけることができませんでした(バージョンから)。Flaskと一致するディストリビューションは見つかりませんでした。

その後、私はpip設定ファイルが修正されていたのを見つけます。だから、私はpip.iniをオリジナルのデフォルト設定として設定し、pipコマンドを再実行すればそれは私のために働きます!

私の解決策の要約では:

  1. Pip.iniファイル(通常はパスC:\ProgramData\pipの下)が変更されていることを確認してください。

  2. はいの場合は、デフォルト設定にリセットしてみてください。

1
lyn

これは私のために働きました、私はpipの最新版をインストールして、それからライブラリ( ciscoconfparse )をインストールしました。

アップグレードpip:

curl https://bootstrap.pypa.io/get-pip.py | Sudo /Users/{your user name}/{path to python}/bin/python
1
user9825640

myenv:

python 2.7.14

ピップ9.0.1

mac osx 10.9.4


ミスソリューション:

  1. https://packaging.python.org/tutorials/installing-packages/ から手動でget-pip.pyをダウンロードしてください。

  2. python get-pip.pyを実行する


参照:

https://github.com/pypa/warehouse/issues/3293#issuecomment-378468534

https://packaging.python.org/tutorials/installing-packages/

安全にダウンロードget-pip.py [1]

Python get-pip.pyを実行してください。 [2]これでpipがインストールまたはアップグレードされます。さらに、setuptoolsとwheelがまだインストールされていない場合はそれらもインストールされます。

Pip、setuptools、およびwheelが最新のものであることを確認してください

Pipだけでビルド済みのバイナリアーカイブからインストールするのに十分ですが、setuptoolsとwheelプロジェクトの最新のコピーがソースアーカイブからもインストールできることを確認するのに役立ちます。

python -m pip install --upgrade pip setuptools wheel

1
Nick Dong

あるいは単に必要なライブラリがリポジトリに入っていないだけです。私はPython初心者で、pipのアップグレードに関するアドバイスはついに誤解を招くものとして示されました。 https://pypi.org/ を調べるだけで、ライブラリ(私の場合はairflow)が古いバージョンで停止し、その後名前が変更されました。はい、そのばかげた解決策も可能です:-)。

0

すべてのpython3およびpip3ユーザーの場合:

curl https://bootstrap.pypa.io/get-pip.py | Sudo python3

そして、あなたがパンダをインストールしたいと仮定します

pip3 install pandas --user
0
HoKy22