[python] Requestsモジュール使用時に”urlopen error [SSL: CERTIFICATE_VERIFY_FAILED]”となるエラーの解決法 | じょるブログ

じょるブログ

現役理系大学生による大学生に向けた情報サイト

[python] Requestsモジュール使用時に”urlopen error [SSL: CERTIFICATE_VERIFY_FAILED]”となるエラーの解決法

投稿日:

  

実行環境

python3(jupyter notebook)

 

症状

Requestsライブラリーを使用してGETリクエストやPOSTリクエストを行おうとする際や、pipでモジュールをインストールしようとした際に

<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)>

というエラーが表示される。

  

原因

https通信はSSL/TLSを利用することで通信を暗号化してセキュアな通信を行う通信方法であり、このhttps通信を行う際にはサーバーの証明書のチェックが行われる。Requestsモジュールを使用して通信する際、certifiモジュールに記載されている証明書リストをもとにチェックが行われる。Requestsモジュールの古いバージョンでは、certifiモジュールではなく、Requestsモジュール自体に記載されている証明書リストを使用してチェックが行われる。

よって、Requestsモジュールが古いか、certifiモジュールが古いと証明書の認証に失敗し、上記のようなエラーが発生してしまう。

  

対処法

以下のコマンドでcertifiモジュールをアップデートする。

pip install --upgrade pip
pip install --upgrade certifi

上記のコマンドを実行してもエラーが解決しない場合は、以下のコマンドでRequestsモジュールをアップデートする。

pip install --upgrade requests

※python3 の場合はpipではなくpip3コマンドを使用する

※jupyter notebook使用時は、上記のコマンドを実行したらjupyter notebookを再起動する。

   

参考

https://dev.classmethod.jp/articles/how-to-manage-ca-root-certs-for-requets-library/

google ads




Twitter

google ads




Twitter

-

執筆者:


comment

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

CAPTCHA


関連記事

Raspberry Pi のSDカードが壊れ、起動しなくなってしまった場合の修復方法

スマートリモコンとして使用していたラズベリーパイ(zero WH)の調子が最近悪く、ちょっと動作が遅くなってきたなと思っていたら突然反応しなくなってしまいました。半年以上問題なく稼働していましたが、起 …

大学生の電子工作 ラズパイでスマートロックを自作してみた

前回、前々回に続き、3回目の電子工作です。玄関の鍵が面倒だと感じたことは誰しも一度はありますよね。鍵をかばんやポケットから取り出すのが地味にめんどくさかったり、鍵をなくしてしまって困ってしまったという …

簡単!ラズパイでスマホ広告をブロック – youtube広告も削除可能!

    ラズパイでスマホを含む家中の端末に表示されるWEB広告をブロックする方法を紹介します。 動画の最初や途中に表示されるyoutube広告を削除することも可能です! 最近ラズパイを使って何かしたい …

全くのjavascript初心者が5時間でWebゲーム作ってみた

最近サーバーサイドのプログラミングを勉強してみようと思い、PHPの勉強を始めました。サーバーを借りてこのサイトを立ち上げたりしてなんとなくWebの仕組みがわかってきたので、前々から興味があったWebア …

ラズパイで取得したIoTデータをグーグルスプレッドシートに自動記録

今回はPythonを使って、ラズパイに接続してあるセンサーから取得したデータなどをグーグルスプレッドシートに自動で記載する方法について記載します。グーグルスプレッドシートに記載することで、スマホなどか …




関連記事