pip installの「SSL: CERTIFICATE_VERIFY_FAILED」の直し方
pip でインストールしようとすると、こう止まることがある。
Could not fetch URL https://pypi.org/...: There was a problem confirming the ssl certificate:[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed通信先の証明書を検証できていない、という意味だ。原因の多くは、証明書がローカルに入っていないことにある(特にMacのpython.org版で起きやすい)。
Macのpython.org版:証明書をインストールする
公式インストーラには、証明書をセットするスクリプトが同梱されている。これを一度実行する。
open "/Applications/Python 3.12/Install Certificates.command"バージョン部分(3.12)は自分の入れたものに合わせる。これだけで直ることが非常に多い。
certifi を更新する
証明書データを持つ certifi を最新にする。
python -m pip install --upgrade certifi一時的な回避(恒久対策ではない)
急ぎで通したいときだけ、信頼ホストを指定する方法がある。ただし検証を緩めるので常用は避ける。
python -m pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org requests社内プロキシが証明書を差し替えている環境では、会社配布のルート証明書を入れる必要がある。その場合は情報システム部門に確認するのが早い。
まとめ
- 定番原因はMacの証明書未インストール
- まず
Install Certificates.commandを実行する certifiを更新する--trusted-hostは応急処置。常用しない