Pythonのurllib
ライブラリを使用する際に、OpenSSL
との互換性に関する問題が発生することがあります。この記事では、そのような問題の一つとその解決策について説明します。
urllibとOpenSSL
urllib3
のバージョンv2.0
は、OpenSSL 1.1.1+
を必要とします。しかし、ある環境ではssl
モジュールがLibreSSL 2.8.3
でコンパイルされているため、urllib3 v2.0
と互換性がありません。
問題の発生
この問題は、OpenAI
のAPIを使用するプロジェクトのチュートリアルを進めている際に発生しました。pip install openai
を実行した後、import openai
を試みると、ssl
モジュールがLibreSSL
ではなくOpenSSL
でコンパイルされているというエラーが表示されました。
解決策
この問題を解決するための一つの方法は、urllib3
のバージョンをダウングレードすることです。以下のコマンドを実行することで、urllib3
のバージョンを1.26.6
にダウングレードできます。
python3 -m pip install urllib3==1.26.6
もう一つの解決策は、OpenSSL
のバージョンを上げることです。OpenSSL
のバージョンを1.1.1
以上にすることで、この問題を回避できます。
以上が、Pythonのurllib
とOpenSSL
の互換性問題とその解決策についての説明です。この情報が皆さんの問題解決の一助となれば幸いです。