Pythonを使用していると、特にMacOSでssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749)というエラーに遭遇することがあります。このエラーは、PythonがHTTPS接続を必要とする多くの操作で発生します。これには、pip installコマンドやhttp.client.HTTPSConnectionの使用、またはこれらを内部で使用するモジュールやアプリケーションが含まれます。

このエラーの原因は、Pythonが公式のPython pkgインストーラからインストールされ、内部バージョンのOpenSSLを使用し、ルート証明書が含まれていないためです。したがって、SSL接続を使用するものはすべてこのエラーを引き起こします。

この問題を解決するための一般的な方法は、Pythonインストーラを実行したときに表示される情報に従うことです。具体的には、Applications/Python 3.6に移動し、Install Certificates.commandをダブルクリックします。これにより、Pythonのバグトラッカーで報告されているこの問題が解決します。

ただし、この方法が機能しない場合や、Pythonがアプリケーションフォルダにない場合もあります。その場合、PythonをHomebrewやpyenvを通じてインストールした可能性があります。

また、プロキシ環境下でPythonのrequestsライブラリを使用していると、同様のssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)エラーが発生することがあります。このエラーは、HTTPSリクエストのSSL証明書の検証(SSL Cert Verification)に失敗したために生じます。

この問題を解決するための一般的な方法は、サーバー証明書の検証を行わない設定にするか、プロキシサーバの証明書をクライアント側で設定することです。ただし、これらの方法はセキュリティ上のリスクを伴う可能性があるため、注意が必要です。

以上の情報を参考に、PythonでSSLエラーに遭遇したときの対処法を理解していただければと思います。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です