ImportError: urllib3 v2.0 は OpenSSL 1.1.1+ のみをサポートしています。現在、「ssl」モジュールは LibreSSL 2.8.3 でコンパイルされています。質問する

ImportError: urllib3 v2.0 は OpenSSL 1.1.1+ のみをサポートしています。現在、「ssl」モジュールは LibreSSL 2.8.3 でコンパイルされています。質問する

pip install openai、 をしようとするとimport openai、次のエラーが表示されます:

urllib3の「ssl」モジュールはOpenSSLではなくLibreSSLでコンパイルされます

OpenAI の API の使用に関するプロジェクトのチュートリアルに従いました。しかし、OpenAI のインストールとインポートという最初のステップにたどり着いたときに行き詰まってしまいました。このエラーの解決策を見つけようとしましたが、何も見つかりません。

OpenAI をインポートしようとした後のメッセージは次のとおりです。

Python 3.9.6 (default, Mar 10 2023, 20:16:38)
[Clang 14.0.3 (clang-1403.0.22.14.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

>>> import openai

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/yule/Library/Python/3.9/lib/python/site-packages/openai/__init__.py", line 19, in <module>
    from openai.api_resources import (
  File "/Users/mic/Library/Python/3.9/lib/python/site-packages/openai/api_resources/__init__.py", line 1, in <module>
    from openai.api_resources.audio import Audio  # noqa: F401
  File "/Users/mic/Library/Python/3.9/lib/python/site-packages/openai/api_resources/audio.py", line 4, in <module>
    from openai import api_requestor, util
  File "/Users/mic/Library/Python/3.9/lib/python/site-packages/openai/api_requestor.py", line 22, in <module>
    import requests
  File "/Users/mic/Library/Python/3.9/lib/python/site-packages/requests/__init__.py", line 43, in <module>
    import urllib3
  File "/Users/mic/Library/Python/3.9/lib/python/site-packages/urllib3/__init__.py", line 38, in <module>
    raise ImportError(
ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with LibreSSL 2.8.3. See: https://github.com/urllib3/urllib3/issues/2168

--upgradeを試してみましたurllib3が、まだ動作しません。結果は次のとおりです。

pip3 install --upgrade urllib3
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: urllib3 in ./Library/Python/3.9/lib/python/site-packages (2.0.2)

ベストアンサー1

エラー メッセージに OpenSSL 1.1.1+ と LibreSSL 2.8.3 が記載されている理由は、urllib3 v2.0 (インストールしたバージョン) が OpenSSL 1.1.1 のいくつかの新機能に依存しているため、正常に動作するために OpenSSL 1.1.1+ が必要であるためです。

問題は、現在環境にインストールされている「ssl」モジュールのバージョンが、urllib3 v2.0 と互換性のない LibreSSL 2.8.3 でコンパイルされていることです。

urllib3 v2.0 を使用するには、OpenSSL 1.1.1 以降でコンパイルされた 'ssl' モジュールが必要です。

brew install [email protected]

または、互換性のある古いバージョンの urllib3 を使用することもできます。たとえば、厳密な OpenSSL バージョン要件がない urllib3 v1.26.6 などです。次のコマンドでバージョンのインストールを強制できます。

pip install urllib3==1.26.6

おすすめ記事