Pythonのurllib.requestでSSLエラーが出た時の対処
Pythonで、urllib.requestを使おうとしたときにSSLエラーが出てしまいました。httpsのURLにリクエストするとどうも証明書が見つからずエラーを起こしてしまうようです。そこで、いろいろ調べて試した結果なんとか解決できましたのでお伝えします。
これだとダメでした。
$ pip3 install --upgrade certifi
...
WARNING: You are using pip version 21.0.1; however, version 21.1.3 is available.
You should consider upgrading via the '/Library/Frameworks/Python.framework/Versions/3.9/bin/python3.9 -m pip install --upgrade pip' command.
よく読むと、次のコマンドでpipをupgradeしなさいと書かれています。やってみます。
$ /Library/Frameworks/Python.framework/Versions/3.9/bin/python3.9 -m pip install --upgrade pip
Requirement already satisfied: pip in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (21.0.1)
Collecting pip
Downloading pip-21.1.3-py3-none-any.whl (1.5 MB)
|████████████████████████████████| 1.5 MB 934 kB/s
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 21.0.1
Uninstalling pip-21.0.1:
Successfully uninstalled pip-21.0.1
Successfully installed pip-21.1.3
その後、urllib.requestを使ったhttpsリクエストがとるようになりました。