はじめに
今回わたしはPythonのコードをGCPにデプロイしようと思ったときに、いろいろ環境を触ってしまった原因でSSL証明書検証エラーに陥ってしまったようです...
恥ずかしながら、Claude-3.5-Sonnet
くんと相談しながらいろいろとコマンド操作しているうちに変なことをしてしまったようです。
問題の症状
SSL証明書検証エラーが発生し、以下のようなエラーメッセージが表示されました
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1006)
解決方法
Python の証明書を更新する!!
ターミナルで以下のコマンドを実行してください。
/Applications/Python\ 3.11/Install\ Certificates.command
本来は
/Applications/Python\ 3.x(Pythonのバージョンの数字) /Install\ Certificates.command
これで治るはずです!
これからの予防
環境変更の記録:
環境を変更する際は、行った操作を必ずメモしておきましょう。これにより、問題が発生した際に原因の特定やロールバックが簡単になります!
仮想環境の使用:
プロジェクトごとに仮想環境を作成し、システム全体に影響を与えないようにしましょう。
自分の環境をわざわざ変えるからエラーが全体にでてしまうのです...
Pythonの仮想環境
pipenvやvenvを使用して、Pythonプロジェクトごとに独立した環境を作成できます。
↓もっと分離したい時
コンテナ型仮想環境
Dockerの出番です!
コンテナを使うことで、OS レベルでの分離ができ、環境の再現性が高まります。
自分のローカル環境をわざわざ変えずに済むので、全体にエラーが波及するリスクも減らせます。
定期的な更新:
Pythonや関連パッケージ、特に証明書関連のものは定期的に更新しましょう。
公式ドキュメントの参照:
特にクラウドサービスを利用する際は、公式のドキュメントやベストプラクティスを常に参照しましょう。生成系AIにばかり頼るのではなく,しっかり公式ドキュメントを読みながらAIはあくまで補助として扱いましょう!
おわりに
今回わたしが起きた事故ですが,原因はAIに頼り切った自分の怠惰にあります...
みなさんはわたしのようにならないよう、AIのことも半信半疑で最終チェックは自分の目で公式と照らし合わせて行いましょう!!
それではみなさんよいエンジニアライフを〜👋
もし,ほかの解決策があれば教えてください
参考