在执行 pip install openai
后,当我尝试 import openai
时,出现了以下错误:
urllib3 的 ‘ssl’ 模块是用 LibreSSL 而不是 OpenSSL 编译的
我只是按照一个关于使用 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 darwinType "help", "copyright", "credits" or "license" for more information.>>> import openaiTraceback (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 urllib3Defaulting to user installation because normal site-packages is not writeableRequirement already satisfied: urllib3 in ./Library/Python/3.9/lib/python/site-packages (2.0.2)
回答:
错误消息中提到 OpenSSL 1.1.1+ 和 LibreSSL 2.8.3 的原因是,urllib3 v2.0(您安装的版本)需要 OpenSSL 1.1.1+ 才能正常工作,因为它依赖于 OpenSSL 1.1.1 的一些新功能。
问题在于您当前环境中安装的 ‘ssl’ 模块是用 LibreSSL 2.8.3 编译的,这与 urllib3 v2.0 不兼容。
要使用 urllib3 v2.0,您需要一个用 OpenSSL 1.1.1 或更高版本编译的 ‘ssl’ 模块,可以尝试以下命令:
brew install [email protected]
或者您可以使用一个与旧版本兼容的 urllib3。例如,urllib3 v1.26.6 没有严格的 OpenSSL 版本要求。您可以使用以下命令强制安装该版本:
pip install urllib3==1.26.6