[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




google ads




-

執筆者:


comment

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

CAPTCHA


関連記事

ラズパイに4TBの外付けHDDを接続しNAS(ファイルサーバー)を構築してみた

私は256GBのSSDが搭載されているWindowsパソコンを使用しているのですが、最近空き容量が30GBくらいになってきてしまいました。空き容量がギリギリになると色々と不具合が発生してくるとどこかで …

物理ボタンをIoT化 – ESP32で Swich bot を自作し、スマホからスイッチをON,OFFできるようにしてみた

   この記事ではESP32をIoTデバイスとして使用し、家の電気のボタンや電子レンジのボタンなどの、あらゆる物理ボタンを押すことのできるスイッチボットを作成する方法について解説します。 市販されてい …

大学生の電子工作 スマートリモコン(プログラム)

この記事ではスマートリモコンを作ってみたで紹介したスマートリモコンのプログラムを記載していきます。回路はスマートリモコン(回路)に記載してあります。今回作成するプログラムは以下の4つです。 (LED点 …

ラズパイに外付けHDD(SSD)を接続する方法を徹底解説 – フォーマット、パーティション作成、マウント方法など

今回はラズパイでNAS(ファイルサーバー)を構築するために外付けHDDを購入したので、ラズパイで外付けHDDが使用できるようにする方法について解説します。(外付けSSDの接続方法も外付けHDDと同じで …

RaspberryPiのセットアップ ① – 2種類のOSインストール方法と基本設定

 この記事では、私がラズパイにOSをインストールするたびに行っているRaspberryPiのセットアップについて記載します。ここでは、NOOBSとイメージファイルによる2種類のOSのインストール方法と …




関連記事