MacでPythonを使っていると、次のようなエラーに遭遇することがあります。
SSL: CERTIFICATE_VERIFY_FAILED
pip install や requests を使った通信処理で突然エラーが出て、
「コードは合っているのに動かない…」と困った経験はありませんか。
この記事では、Mac環境でPythonのSSLエラーが発生する主な原因と、順番に確認すべきポイントを初心者向けに整理して解説します。
※ 本記事は Mac + Python3 環境を前提にしています。
この記事でわかること
- PythonでSSLエラーが発生する主な理由
- Mac特有の証明書トラブルの原因
- pip / requests 実行時の確認ポイント
- 安全に解決するための考え方
PythonのSSLエラーとは?
PythonのSSLエラーは、HTTPS通信時の証明書検証に失敗した場合に発生します。
よくあるエラーメッセージ例:
SSL: CERTIFICATE_VERIFY_FAILED
これは、
- 接続先の証明書を信用できない
- 証明書を検証する仕組みが壊れている
といった状態を意味します。
原因① Pythonの証明書設定が正しくない(Mac特有)
Macでは、Pythonが使用する証明書とmacOSの証明書管理が一致しないことがあります。
特に次のケースで起こりやすいです。
- Pythonを公式サイトからインストールした
- OSアップデート後に突然エラーが出た
確認ポイント
python3 --version
Pythonのバージョンを確認し、
極端に古いバージョンを使っていないかをチェックしてください。
原因② pip install 実行時にSSLエラーが出る
pip install 時に、次のようなエラーが出る場合があります。
Could not fetch URL https://pypi.org/simple/
これは HTTPS通信がブロックされている状態です。
確認ポイント
- インターネット接続が正常か
- プロキシ環境ではないか
- セキュリティソフトが通信を遮断していないか
原因③ requests など通信ライブラリで発生するSSLエラー
Pythonコード内で、次のような処理をしている場合:
import requests
requests.get("https://example.com")
SSLエラーが出る場合は、
- 証明書検証に失敗している
- Python側の証明書が古い
可能性があります。
原因④ 仮想環境(venv)による証明書の不整合
仮想環境を使っている場合、
- グローバルPythonと
- venv内Python
で 証明書の状態が異なることがあります。
確認ポイント
(venv)が有効化されているか- pip install を venv 有効化後に実行しているか
やってはいけない対処法(重要)
以下のような対処法をネットで見かけることがありますが、推奨されません。
requests.get(url, verify=False)
これは SSL検証を無効化する危険な方法です。
- セキュリティリスクが高い
- 本番環境では使用不可
一時的な確認用途以外では使わないでください。
それでも解決しない場合のチェックリスト
- Pythonのバージョンが古すぎないか
- 仮想環境を正しく有効化しているか
- pip / requests を最新化しているか
- ネットワーク制限(社内・VPN)がないか
まとめ
MacでPythonのSSLエラーが出た場合、
多くは 環境や証明書の問題が原因です。
順番に確認すべきポイントは以下です。
- Pythonのバージョン確認
- 仮想環境の有効化状況
- pip / requests 実行環境
- ネットワーク制限の有無
一つずつ切り分ければ、ほとんどのSSLエラーは解決可能です。
コメントを残す