「接続エラー:[SSL:CERTIFICATE_VERIFY_FAILED]証明書の検証に失敗しました(_ssl.c:598)」という理由で、pipのインストールが失敗します


397

私はPythonに非常に慣れていないため> pip install linkchecker、Windows 7 を使用しようとしています。

  • パッケージに関係なく、pipのインストールが失敗します。たとえば> pip install scrapy、SSLエラーも発生します。
  • Python 3.4.1のバニラインストールには、pip 1.5.6が含まれていました。私が最初にやろうとしたことは、リンクチェッカーをインストールすることでした。Python 2.7はすでにインストールされており、ArcGISに付属しています。pythonそしてpip、私は3.4.1をインストールするまで、コマンドラインから利用できませんでした。
  • > pip search linkchecker動作します。おそらくそれは、pip検索がサイトのSSL証明書を検証しないためです。
  • 私は会社のネットワークにいますが、プロキシを経由してインターネットにアクセスしていません。
  • 会社を含む各コンピューター(信頼できるルート証明機関)は、https://google.comへのTLSトラフィックの監視を有効にするなど、さまざまな理由で使用されます。それが何か関係があるかどうかはわかりません。

実行後の私のpip.logの内容は次のとおりpip install linkcheckerです。

Downloading/unpacking linkchecker
  Getting page https://pypi.python.org/simple/linkchecker/
  Could not fetch URL https://pypi.python.org/simple/linkchecker/: connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)
  Will skip URL https://pypi.python.org/simple/linkchecker/ when looking for download links for linkchecker
  Getting page https://pypi.python.org/simple/
  Could not fetch URL https://pypi.python.org/simple/: connection error: HTTPSConnectionPool(host='pypi.python.org', port=443): Max retries exceeded with url: /simple/ (Caused by <class 'http.client.CannotSendRequest'>: Request-sent)
  Will skip URL https://pypi.python.org/simple/ when looking for download links for linkchecker
  Cannot fetch index base URL https://pypi.python.org/simple/
  URLs to search for versions for linkchecker:
  * https://pypi.python.org/simple/linkchecker/
  Getting page https://pypi.python.org/simple/linkchecker/
  Could not fetch URL https://pypi.python.org/simple/linkchecker/: connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)
  Will skip URL https://pypi.python.org/simple/linkchecker/ when looking for download links for linkchecker
  Could not find any downloads that satisfy the requirement linkchecker
Cleaning up...
  Removing temporary dir C:\Users\jcook\AppData\Local\Temp\pip_build_jcook...
No distributions at all found for linkchecker
Exception information:
Traceback (most recent call last):
  File "C:\Python34\lib\site-packages\pip\basecommand.py", line 122, in main
    status = self.run(options, args)
  File "C:\Python34\lib\site-packages\pip\commands\install.py", line 278, in run
    requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
  File "C:\Python34\lib\site-packages\pip\req.py", line 1177, in prepare_files
    url = finder.find_requirement(req_to_install, upgrade=self.upgrade)
  File "C:\Python34\lib\site-packages\pip\index.py", line 277, in find_requirement
    raise DistributionNotFound('No distributions at all found for %s' % req)
pip.exceptions.DistributionNotFound: No distributions at all found for linkchecker

1
まったく逆です!Python 3.4.1以前では、デフォルトで証明書の検証は行われません。もしあなたがPython 3.4.2を使っていたら、それが問題だと思ったでしょう。(問題21013メーリングリストのこのスレッドを参照してください。これはかなり長いスレッドの始まりです。)申し訳ありませんが、実際には役に立ちませんでした。
Cody Piersall 2014

3
フィドラーが開いているかどうかを確認し、閉じます。FiddlerがSSLを中断しようとすると、pidが壊れます。私は閉じるときに私のシオマネキすべてがOKになり
ホセ・バルボサ

回答:


639

-----> pip install gensim config --global http.sslVerify false

「config --global http.sslVerify false」ステートメントを使用してパッケージをインストールするだけです

を設定pypi.orgしてfiles.pythonhosted.org、信頼できるホストとしてSSLエラーを無視できます。

$ pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org <package_name>

:2018年4月中にPythonパッケージインデックスがからに移行されpypi.python.orgましたpypi.org。つまり、古いドメインを使用した「信頼できるホスト」コマンドは機能しなくなります。

恒久的な修正

pip 10.0のリリース以降、pip自分自身をアップグレードするだけでこれを永久に修正できるはずです。

$ pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org pip setuptools

または、再インストールして最新バージョンを取得します。

$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

(そしてget-pip.py、関連するPythonインタープリターで実行します)。

pip install <otherpackage>これでうまくいくはずです。そうでない場合は、以下で説明するように、さらに行う必要があります。


信頼できるホストとプロキシを設定ファイル追加することもできます

pip.ini(Windows)またはpip.conf(unix)

[global]
trusted-host = pypi.python.org
               pypi.org
               files.pythonhosted.org

代替ソリューション(安全性が低い)

答えのほとんどはセキュリティ上の問題を引き起こす可能性があります。

ほとんどのPythonパッケージを簡単にインストールするのに役立つ2つの回避策は次のとおりです。

  • easy_installの使用:本当に怠惰で時間を無駄にしたくない場合は、を使用してくださいeasy_install <package_name>。一部のパッケージが見つからないか、小さなエラーが発生することに注意してください。
  • Wheelの使用PythonパッケージのWheelをダウンロードし、pipコマンドpip install wheel_package_name.whlを使用してパッケージをインストールします。

7
あなたのアップデートは私にとってうまくいきました。私の場合、企業ファイアウォールはそれ自体をSSL接続の信頼できるホストとして挿入します。プロキシの設定は間違っていると思いましたが、詳細を追加すると問題がSSLであることがわかりました。index-urlの変更により、この問題は回避されました。
ピーター、

11
素晴らしい、thx!信頼できるホストで十分なようです。pip install --trusted-host pypi.python.org pypi_package。を使用すると--verbose、なし--trusted-hostではHTTPS接続が失敗しますが、同じHTTPS接続が(HTTPではなく)試行されます--trusted-hostが、成功します。
Oliver

12
HTTPバージョンを使用していない(そしてそれを信頼している)場合も、セキュリティ上のリスクはありませんか?
パウロEbermann

3
あなたはまた、[OK]をする必要があり、このコマンドを実行してください、--index-URLパラメータを無視する短いとしてそれを行うことができますpip install --trusted-host pypi.python.org pythonPackage
アルター胡

8
私にはうまくいきません。macbookpro 15 "Python 2.7 pip 9.0.1でmac os high sierraを実行しました私は両方を試しました:sudo -H pip install --trusted-host pypi.python.org numpyとsudo pip install --trusted-host pypi.python.org numpyそれは常に私に同じエラーを与えます:「ssl証明書を確認する問題がありました:[SSL:TLSV1_ALERT_PROTOCOL_VERSION] tlsv1アラートプロトコルバージョン(_ssl.c:661)-スキップ要件を満たすバージョンが見つかりませんでした」
DaniPaniz

123

次のパラメータで証明書を指定できます:

pip --cert /etc/ssl/certs/FOO_Root_CA.pem install linkchecker

参照:ドキュメント»リファレンスガイド»pip

会社のルート証明書を指定しても機能しない場合は、cURLが機能する可能性があります。http//curl.haxx.se/ca/cacert.pem

CRTファイルではなく、PEMファイルを使用する必要があります。CRTファイルがある場合は、ファイルをPEM変換する必要があります。コメントに、これがCRTファイルで機能するようになったという報告がありますが、確認していません。

また、SSL証明書の検証も確認してください。


1
Curl oneは安全です。それを使用することをお勧めします。
スティーブタウバー

1
@JeremyCookそれはあなたのサーバーの時間である可能性があり、それが過去であればそれは検証プロセスである可能性があります
Giovanni Bitliner

1
CRT形式はサポートされていません。PEM形式のみがサポートされています。opensslを使用して、CRTをPEM形式に変換する必要があります。ダウンロードしたバンドルに正しいルートCAが含まれていることも確認する必要があります。詳細については、上記の私の回答をご覧ください:stackoverflow.com/a/28724886/41957
chnrxn 2015

1
@ JeremyCook、PEM /証明書は、ダウンロード元のサードパーティから直接提供されたものではありません。彼らは元のソースから証明書を集めました。第三者が正しいキーを持っている場合を除いて、第三者が他の誰かの証明書を生成することはできません(他の誰かだけが持つことになります)。
chnrxn 2015

4
@endolith -を見るとpip.pypa.io/en/stable/user_guide/#configurationすることは、それは次のようになりますことができますいずれかを使用し、環境変数、またはpip.confそれらをコマンドで指定せずに恒久的に参照持っているファイル
Cinderhaze

63

ケノーブの答えは非常に便利です(そして素晴らしい!)。
彼の解決策の中で、おそらくこれが最も簡単な解決策です: --trusted-host

たとえば、この場合、次のことができます

pip install --trusted-host pypi.python.org linkchecker

PEMファイル(またはその他)は不要です。


これは次のような他のコマンドでも機能しますpip list --trusted-host pypi.python.org --outdated
Igor

61

私にとっての問題は、フォルダを作成することによって修正されました pip:ファイルで、pip.ini 中に C:\Users\<username>\AppData\Roaming\ 例えば:

C:\Users\<username>\AppData\Roaming\pip\pip.ini

その中に私は書いた:

[global]
trusted-host = pypi.python.org
               pypi.org
               files.pythonhosted.org

私はpythonを再起動し、pipはこれらのサイトを永続的に信頼し、それらを使用してパッケージをダウンロードしました。

WindowsでAppDataフォルダーが見つからない場合は%appdata%、ファイルエクスプローラーに書き込むと、フォルダーが表示されます。


奇妙なことに、これは私のWin10マシンでは役に立たない:/
mcandre

1
職場では、Cmderコンソールエミュレーターを使用するWindows 10環境。-「trusted-hostは、「 'SSLError(SSLCertVerificationError(1、' [SSL:CERTIFICATE_VERIFY_FAILED] certificate verify failed:self signed certificate in certificate chain」の問題を解決するために使用されました。今日は機能しなくなりました。pipフォルダーのコピー( ../AppData/Roaming/に../AppData/Local/から)取られ、すべてが再び右私の地元のpythonの世界であるおかげで多くの。!
IdusOrtus

1
すごい!どうもありがとうございました。--trusted-hostは今のところ機能しませんが、ソリューションが役立ちます。
Alexander Prokofyev

1
Pythonのインストール時にダウンロードされなかった理由>
98Ed

驚くばかり!GIT、会社のプロキシ、SSLに関連するエラーを検索していましたが、それは単にPIPに関連したものでした。ありがとうございました。このコメントで、私のように混乱している人々がここに集まることを願っています。
negas

41

答えは非常によく似ており、少し混乱します。私の場合、私のネットワークの証明書が問題でした。私は使用して問題を回避することができました:

pip install --trusted-host files.pythonhosted.org --trusted-host pypi.org --trusted-host pypi.python.org oauthlib -vvv

ここに見られるように。詳細出力が必要ない場合は、-vvv引数を省略できます


10
1つだけ私の問題を解決するには、ありがとうございます。
Gringo Suave 2018

すごい、私のためにも働いた唯一のもの!
ethikz

正常に機能するのは、今日、通常のSSLを取り除くプロキシの背後にいるためです。大人がネットワークを運営している場合、通常は信頼できるホストを指定する必要はありません。
MrChrister

これも私にとってはうまくいきます。上記は機能しませんでした
Srinath Ganesh

32

恒久的な修正

pip install --upgrade pip --trusted-host pypi.org --trusted-host files.pythonhosted.org

たとえば:

pip install <package name> --trusted-host pypi.org --trusted-host files.pythonhosted.org

24

この問題を一度に解決するには、pip.confファイルがあることを確認します。

ドキュメントpip.confによると、これはあなたがいるべき場所です:

Unixでは、デフォルトの構成ファイルは次$HOME/.config/pip/pip.confのとおりです。XDG_CONFIG_HOME環境変数を尊重します。

macOSでは、設定ファイルは$HOME/Library/Application Support/pip/pip.confディレクトリ$HOME/Library/Application Support/pipが他に存在する場合です$HOME/.config/pip/pip.conf

Windowsでは、設定ファイルは%APPDATA%\pip\pip.iniです。

virtualenv内:

UnixおよびmacOSでは、ファイルは $VIRTUAL_ENV/pip.conf

Windowsでは、ファイルは次のとおりです。 %VIRTUAL_ENV%\pip.ini

あなたpip.confは次のようになります:

[global]
trusted-host = pypi.python.org

pip install linkcheckerファイルlinkcheckerを作成した後、問題なくインストールされましたpip.conf


1
$ HOME / Library / Application Support / pipがマシンに存在しません。代わりの場所はありますか?
42shadow42 2018年

pipユーザーガイドは、この回答を投稿してから更新されているようです。macOSの回答を更新しました。それは役に立ちますか?
Alex-Antoine Fortin

Win10マシンのSSLエラーには影響しません:/
mcandre

MacOSXの問題は修正されません。
MoDJ

私はmacOSを使用しています。を使用してpython3をインストールbrewした場合はpip3pip.confas を使用して作成していることを確認してください$HOME/.config/pip/pip.conf。私のために働いた。
anu

23

私が見つけた最も簡単な方法は、https: //www.digicert.com/digicert-root-certificates.htm#rootsのDigiCertから「DigiCert High Assurance EV Root CA」をダウンロードして使用することです

あなたは訪問することができhttps://pypi.python.org/を OpenSSLを使用してCREDアドレスバーにロックアイコンをクリックして、証明書発行者を確認するか、あなたのオタクを高めるために:

$ openssl s_client -connect pypi.python.org:443
CONNECTED(00000003)
depth=1 /C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 Extended Validation Server CA
verify error:num=20:unable to get local issuer certificate
verify return:0
---
Certificate chain
 0 s:/businessCategory=Private Organization/1.3.6.1.4.1.311.60.2.1.3=US/1.3.6.1.4.1.311.60.2.1.2=Delaware/serialNumber=3359300/street=16 Allen Rd/postalCode=03894-4801/C=US/ST=NH/L=Wolfeboro,/O=Python Software Foundation/CN=www.python.org
   i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 Extended Validation Server CA
 1 s:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 Extended Validation Server CA
   i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert High Assurance EV Root CA

証明書チェーンの最後のCN値は、ダウンロードする必要があるCAの名前です。

1回限りの作業では、次の操作を行います。

  1. DigiCertからCRTをダウンロード
  2. CRTをPEM形式に変換する
  3. PIP_CERT環境変数をPEMファイルのパスにエクスポートします。

(最後の行は、bashシェルを使用していることを想定しています)pipを実行する前に。

curl -sO http://cacerts.digicert.com/DigiCertHighAssuranceEVRootCA.crt 
openssl x509 -inform DES -in DigiCertHighAssuranceEVRootCA.crt -out DigiCertHighAssuranceEVRootCA.pem -text
export PIP_CERT=`pwd`/DigiCertHighAssuranceEVRootCA.pem

これを再利用できるようにするには、DigiCertHighAssuranceEVRootCA.crtを一般的な場所に置き、PIP_CERTを〜/ .bashrcにエクスポートします。


4
あなたの答えを使用して、当社のルートCAをPIP_CERT変数にエクスポートし、最後に 'pip --cert cert.pem'を含む他のすべてを試した後、あなたのやり方で... pipインストールパッケージを実行しました。BIG +1-そうですね、firewal / proxy / utmがあります。
Marlon

Mac Mojaveでは、これでも失敗しました。私は正確に3つの手順を実行しましたが、「エラー:TLS / SSLを必要とする場所でpipが構成されていますが、Pythonのsslモジュールは使用できません」というメッセージが表示されます。--trusted-hostおよび--certオプションをすべて試しましたが、pipは機能しません。pipをアップグレードしようとすると、SSLエラーが発生しました。curlを使用して最初からpipをインストールしましたが、それでもpipを実行するとエラーが発生します。ピップを捨ててコンダに固執する時間:(
user1255933

21

の問題を解決するには、次の可能性がありますCERTIFICATE_VERIFY_FAILED

  • HTTPSの代わりにHTTPを使用します(例:)--index-url=http://pypi.python.org/simple/
  • --cert <trusted.pem>またはCA_BUNDLE変数を使用して、代替CAバンドルを指定します。

    たとえば、Webブラウザーから失敗したURLにアクセスして、ルート証明書をシステムにインポートできます。

  • 実行python -c "import ssl; print(ssl.get_default_verify_paths())"して現在のものを確認します(存在する場合は検証します)。

  • OpenSSLには、異なる証明書データベースPEP-476を指定するために使用できる2つの環境(SSL_CERT_DIRSSL_CERT_FILE)があります。
  • --trusted-host <hostname>ホストを信頼できるものとしてマークするために使用します。
  • Pythonではverify=Falseforを使用しますrequests.getSSL証明書の検証を参照)。
  • --proxy <proxy>証明書チェックを回避するために使用します。

詳しくは、ソケットオブジェクトのTLS / SSLラッパー-証明書の確認をご覧ください。


最初のポイントから、pipコマンドでHTTPを指定するにはどうすればよいですか?
rayzinnz

1
@rayzinnz例を追加しました。
ケノーブ

16

時間と日付を正しく設定してください!

私にとって、Raspberry Piで日付と時刻が正しく構成されていないことがわかりました。その結果、https://files.pythonhosted.org/サーバーを使用して、すべてのSSLおよびHTTPS接続が失敗しました。

次のように更新します。

sudo date -s "Wed Thu  23 11:12:00 GMT+1 2018"
sudo dpkg-reconfigure tzdata

または、例えばグーグルの時間と直接:

参照:https : //superuser.com/a/635024/935136

sudo date -s "$(curl -s --head http://google.com | grep ^Date: | sed 's/Date: //g')"
sudo dpkg-reconfigure tzdata

何時間も私を夢中にさせてきた-そのおかげで。私にとって、PI時間は10日間ずれていたため、pipのインストール中にあらゆる種類のエラーが発生しました(表示されます)。
SteveJ 2018年

13

SSLトラフィックをフィルタリングできるように独自の認証局を使用する私の会社のWebコンテンツフィルターが原因で、最近この問題に遭遇しました。私の場合、PIPはシステムのCA証明書を使用していないようで、あなたが言及したエラーが発生します。PIPをバージョン1.2.1にダウングレードすると、それ自体に一連の問題が発生したため、Python 3.4に付属していた元のバージョンに戻しました。

私の回避策は非常に簡単ですeasy_install。(古いPIPバージョンのように)証明書をチェックしないか、システム証明書を使用することがわかっているため、常に機能し、easy_installでインストールされたパッケージをPIPでアンインストールできます。

それが機能せず、問題のないネットワークまたはコンピューターにアクセスできる場合は、常に独自の個人用PyPIサーバーをセットアップできます。ミラーなしでローカルの独自のpypiリポジトリインデックスを作成する方法は?

easy_install最後の溝として使用するまで、私はほとんどそれをしました。


ここで同じ問題。別の回避策は、会社のルート証明書をファイルとしてエクスポートし、pipそれをで使用するように指示すること--cert MyCompanyRootCA.crtです。
glibdud 2018

10

httpsの代わりにhttpを使用して、SSLエラーを回避することができます。もちろん、これはセキュリティの点では最適ではありませんが、急いでいる場合は、トリックを実行する必要があります。

pip install --index-url=http://pypi.python.org/simple/ linkchecker

1
あなたの提案がうまくいくと期待していました。夢中になって、私は最初のものを含め、まったく同じエラーだCould not fetch URL http://pypi.python.org/simple/linkchecker/: connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)
ジェレミー・クックを

3
[OK]を、別の回避策はここに利用できるのtar.gzパッケージをダウンロードしているので、pypi.python.org/pypi/LinkChecker/9.3をし、それをインストールする:PIPはLinkChecker-9.3.tar.gzをインストールする
アウグストDestrero

3
ただし、インストールするパッケージに依存関係がある場合は、すべての依存関係もダウンロードしてインストールする必要があります。依存関係が多い場合、悪夢になる可能性があります。
Augusto Destrero 2014年

1
私にとっては、whl(私の場合はpyserial)をダウンロードしてインストールする必要がありました。これはtar.gzによって収集されなかった依存関係をピックアップしました...したがって、おそらくwhlは@baxeico python -m pip install pyserial-3.4-py2.py3-none-any.whlの別のオプションですこれのどれも働いた:1. --cert cacert.pemの2. 4. Cygwinのホストを--trustedにPEM 3. easy_installをに変換し、会社の証明書をエクスポートする
チャロ

1
2017年現在、longsは機能しています-HTTPアクセスは完全に遮断されました。mail.python.org/pipermail/distutils-sig/2017-October/…– gbtimmon
1

8

使用する答え

pip install --trusted-host pypi.python.org <package>

作業。ただし、リダイレクトまたはキャッシュpipがヒットしているかどうかを確認する必要があります。を使用するWindows 7ではpip 9.0.1、実行する必要がありました

pip install \
  --trusted-host pypi.python.org \
  --trusted-host pypi.org \
  --trusted-host files.pythonhosted.org \
  <package>

これらは冗長フラグで見つけることができます。


7

easy_installでpip 1.2.1をインストールし、最新バージョンのpip(当時は6.0.7)にアップグレードしました。私の場合は、パッケージをインストールできます。

easy_install pip==1.2.1
pip install --upgrade pip

7

4つのオプションがあります。

証明書をパラメーターとして使用する

$ pip install --cert /path/to/mycertificate.crt linkchecker

で証明書を使用する pip.conf

このファイルを作成します。

$HOME/.pip/pip.conf (Linux)

%HOME%\pip\pip.ini (Windows)

次の行を追加します。

[global]
cert = /path/to/mycertificate.crt

証明書を無視してHTTPを使用する

$ pip install --trusted-host pypi.python.org linkchecker

証明書を無視して、pip.confでHTTPを使用する

このファイルを作成します。

$HOME/.pip/pip.conf (Linux)

%HOME%\pip\pip.ini (Windows)

次の行を追加します。

[global]
trusted-host = pypi.python.org

ソース


6

まず第一に、

    pip install --trusted-host pypi.python.org <package name>

私にとってはうまくいきませんでした。CERTIFICATE_VERIFY_FAILEDエラーが発生し続けました。ただし、エラーメッセージで、「pypi.org」サイトを参照していることに気付きました。したがって、私はpypi.python.orgの代わりにこれを信頼できるホスト名として使用しました。それで私はほとんどそこに着きました。ロードはまだCERTIFICATE_VERIFY_FAILEDで失敗していましたが、後で失敗しました。失敗したWebサイトへの参照を見つけて、信頼できるホストとして含めました。最終的に私のために働いたのは:

    pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org <package name>

5

これが関連しているかどうかはわかりませんが、同様の問題があり、Anaconda3 / Library / binからAnaconda3 / DLLsにこれらのファイルをコピーすることで修正されました。

libcrypto-1_1-x64.dll

libssl-1_1-x64.dll


Anaconda 2019.03では、次のファイルを<Anaconda3フォルダー> / Library / binから<Anaconda3> / DLLにコピーしましたlibcrypto-1_1-x64.dll libcrypto-1_1-x64.pdb libssh2.dll libssl-1_1-x64.dll libssl- 1_1-x64.pdb次に、ConnectTimeoutエラーを追加したため、プロキシ構成.condarcを更新しました
MordicusEtCubitus

動作します。あなたは天才だ!私はこの過小評価された単純な解決策を見つけるために、フォーラムを1.5時間ローミングしてきました。
ivan866

4

pip install ftputil64ビットWindows 7 Enterprise上のActivePython 2.7.8、ActivePython 3.4.1、および「ストック」Python 3.4.2で同じ問題が発生しました。OPと同じエラーですべての試行が失敗しました。

Python 3.4.2の問題をpip 1.2.1にダウングレードすることで回避しました:easy_install pip==1.2.1https://stackoverflow.com/a/16370731/234235を参照)。同じ修正がActivePython 2.7.8でも機能しました。

2013年3月に報告されたバグは、まだオープンしています:https : //github.com/pypa/pip/issues/829


これも私にとってはうまくいきました。古いバージョンのpipにダウングレードすることは最初は悪い考えのように思えるかもしれませんが、私は古いdjangoパッケージを扱っていたため、古いpipバージョンは実際には他のパッケージと一致していました。
mknaf

問題829は現在終了しています。
Ortomala Lokni

3

--verboseオプションを使用してpypi.python.orgではなくfiles.pythonhosted.orgにアクセスする必要があることを確認するまで、このページでは何も機能しませんでした。

pip install --trusted-host files.pythonhosted.org <package_name>

--verboseオプションを使用して、実際に失敗しているURLを確認してください。


2

この問題を解決するには、pipを削除して、古いバージョンのpipをインストールします。https//pypi.python.org/pypi/pip/1.2.1


このリンクで質問に答えることができますが、回答の重要な部分をここに含め、参照用のリンクを提供することをお勧めします。リンクされたページが変更されると、リンクのみの回答が無効になる可能性があります。- レビューから
アポメン

@apomene バイナリファイルinclude the essential parts of the answer hereへのリンクなので、OPはどのように想定されますか?
Thomas Ayoub

@ThomasAyoub、私はあなたがすでに知っていると信じていますが、リンクの回答として回答にフラグを付けると、上記のメッセージはSOから自動的に入力されます
アポメン

私の質問に答えない@apomene、それでもOPが何を追加できる/すべきかわかりませんか?
Thomas Ayoub

1
@ThomasAyoub、さらに詳しく説明すると、私のコメント(SO)は、質問が短く、リンクのみであることを示しています。私の意図は、OPがリンクを格付けする詳細を追加する必要があることを明示的に述べることではなく、これが質問に答える理由の詳細を示すことでした。
アポメン

2

これを試して「https」を無視できます。

pip install --index-url=http://pypi.python.org/simple/ --trusted-host pypi.python.org  [your package..]

1
pipバージョンで他の問題が発生した場合でも、これを試すことができます pip install --trusted-host pypi.python.org --upgrade pip –
Smaillns

2

1つの解決策(Windowsの場合)はpip.ini%AppData%\pip\フォルダーで呼び出されるファイルを作成し(フォルダーが存在しない場合は作成します)、次の詳細を挿入します。

[global]
cert = C:/certs/python_root.pem
proxy = http://my_user@my_company.com:my_password@proxy_ip:proxy_port

...そして、インストール命令を実行できます:

pip3 install PyQt5

別のオプションは、プロキシと証明書の引数を使用してパッケージをインストールすることです...

$ pip3 install --proxy http://my_user@my_company.com:my_password@proxy_ip:proxy_port \
   --cert C:/certs/python_root.pem PyQt5

証明書*.cerファイルを必要な*.pem形式に変換するには、次の手順を実行します。

$ openssl x509 -inform der -in python_root.cer -out python_root.pem

これが誰かを助けることを願っています!


1
その他のOSについては、Alex-Antoine Fortinの回答を
ご覧ください

プロキシは必要ありませんでした。証明書のみです。私は走った。pip3.6 config set global.cert '/<path>/server.crt'
avatarofhope2

2

私の場合、それは私の会社の内部CAによって署名されたSSL証明書によるものでした。などの回避策を使用しても効果pip --certはありませんでしたが、次のパッケージでは効果がありました。

pip install pip_system_certs

参照:https : //pypi.org/project/pip-system-certs/

このパッケージは、実行時にpipにパッチを適用し、(バンドルされた証明書caではなく)デフォルトのシステムストアからの証明書を使用するように要求します。

これにより、pipは、システムインストールによって証明書が信頼されているサーバーへのtls / ssl接続を確認できます。


1
[SSL:CERTIFICATE_VERIFY_FAILED]エラーを無効にするには、pip_sysem_certsをインストールする必要があるようです。問題は、それをインストールしようとすると[SSL:CERTIFICATE_VERIFY_FAILED]エラーが発生することです...
athos

これはある時点で解決策だったかもしれませんが、pip_system_certs私のPython環境を完全に破壊しました。そのため、これは良い答えではありません。pip_system_certsをインストールしないでください。詳細については、stackoverflow.com / questions / 27835619 /…を参照してください。
h0r53

1

私にとってこれは以前にプロキシを設定するスクリプトを実行しているためです(フィドラーに)、コンソールを再度開くか、再起動して問題を修正します。


Fiddlerは、[ツール]メニューの[オプション]で[HTTPSトラフィックの復号化]を[...ブラウザーのみから]に設定することで回避できます。これで問題が解決しました。
tephyr 2017

1

最近、私はpython 3.6とVisual Studio 2015で同じ問題に直面しました。2日を費やした後、私はソリューションとその問題なく機能するようになりました。

ピップを使用して、またはビジュアルスタジオからnumpyをインストールしようとしたときにエラーが発生しましたnumpyを収集していますURL https://pypi.python.org/simple/numpy/を取得できませんでした SSL証明書を確認する問題が発生しました::[SSL:CERTIFICATE_VERIFY_FAILEDを]証明書の検証に失敗しました(_ssl.c:748)-スキップnumpyの要件を満たすバージョンが見つかりませんでした(バージョン:から)numpyに一致するディストリビューションが見つかりません

解決 :

Windows OSの場合

  1. open-> "%appdata%" "pip"フォルダーが存在しない場合は作成します。
  2. pipフォルダーに「pip.ini」ファイルを作成します。
  3. ファイルを編集して
    [global]
    trusted-host = pypi.python.org と書き込み、ファイルを保存して閉じます。次に、pip / visual studioを使用してインストールします。正常に動作します。

1

私の場合、Pythonを最小限の高山ドッカーイメージで実行していました。ルートCA証明書がありませんでした。修正:

apk update && apk add ca-certificates


1

ヴォルシュタイン回答がました。

PCのどこにもpip.iniファイルが見つかりませんでした。次のようにした。

  1. AppDataフォルダーに移動しました。コマンドプロンプトを開いてecho%AppData%と入力すると、appdataフォルダーを取得できます。

コマンドプロンプトを使用したAppDataの場所

または、単にWindowsエクスプローラーで%AppData%と入力します。

WindowsエクスプローラーのAppDataの場所

  1. そのappdataフォルダー内にpipというフォルダーを作成します。

  2. 先ほど作成したpipフォルダーに、pip.iniというシンプルなテキストファイルを作成します。

  3. 任意のシンプルなエディターを使用して、次の構成設定をそのファイルに貼り付けます。

pip.iniファイル:

[list]
format=columns

[global]
trusted-host = pypi.python.org pypi.org

これで準備は完了です。


1

私は同様の問題に直面しました。私のために働いた解決策1)python 2.7をアンインストールする2)python27フォルダを削除する3)最新のpythonを再インストールする


0

私にとって、推奨される方法はどれも機能しませんでした-証明書、HTTP、信頼できるホストを使用します。

私の場合、パッケージの別のバージョンへの切り替えが機能しました(この場合、paho-mqtt 1.3.0ではなくpaho-mqtt 1.3.1)。

問題はそのパッケージバージョンに固有であるようです。


0

システムにいくつかの証明書が欠落している場合、この問題が発生する可能性があります。たとえば、opensuse install ca-certificates-mozilla

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