pythonの多くの操作では、httpsを介してアクセスする必要があります。これには、pipインストール、またはhttp.client.HTTPSConnectionの使用、またはこれらを内部的に使用するモジュールまたはアプリケーションが含まれます。
pythonが公式のpython pkgインストーラーからインストールされ、 https://python.org からダウンロードされた場合、opensslの内部バージョンを使用し、ルート証明書が含まれていません。 SSL接続を使用するものはすべてこのエラーになります。
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749)
ルート証明書をインストールして上記のエラーをなくすにはどうすればよいですか?
pythonインストーラーを実行すると、この情報が表示されます。 /Applications/Python 3.6/ReadMe.rtf
にも文書化されていますが、見落とされがちです。
Applications/Python 3.6
を参照し、Install Certificates.command
をダブルクリックするだけです
これについて、Pythonバグトラッカーに問題があります。 http://bugs.python.org/issue2948
更新:この問題はバグトラッカーで解決済みとマークされており、このコメントは最新のものです。
3.7.0b2では、2つの方法で物事をより明確にしようとしました。 1つ目は、インストーラーパッケージが「Install Certificates.command」を含む/ Application/Python 3.7フォルダーのFinderウィンドウを開こうとすることです。 2つ目は、インストールの最後にある一般的な「インストール完了」メッセージではなく、ユーザーに「Install Certificates.command」アイコンをクリックするよう促すメッセージがあります。
これを回避する安価な方法は、まだインストールされている場合にpython3.5を使用することです。
PyPIへのプッシュ:
python3.5 setup.py register -r pypitest
python3.5 setup.py sdist upload -r pypitest
3.6はそのままでも問題なく動作するようです。
このコマンドを使用してこの問題を解決しました。
open /Applications/Python\ 3.7/Install\ Certificates.command
私のマシンにはPython 3.7があります。
このリンクを確認してください- Macでrequests-htmlを試すときにCERTIFICATE_VERIFY_FAILEDエラーを修正する
KerasデータをロードしてPythonを実行しようとしたときに、同じ問題に直面しました。私にとってのエラーは:
Exception: URL fetch failure on AWS_URL: None -- [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:833)
次のように証明書をアップグレードすることで問題を修正しました。
pip install --upgrade certifi