pip install openai 后,当我尝试导入 openai 时,出现错误:“urllib3 的‘ssl’模块是使用 LibreSSL 而非 OpenSSL 编译的”

问题描述 投票:0回答:3

python noobie 在这里,我刚刚学习了一个关于使用 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 the 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)
python openai-api urllib3
3个回答
0
投票

您应该升级系统的 LibreSSL 版本。使用

brew upgrade [email protected]


0
投票

错误信息中提到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 

0
投票

这里也一样。我的 LibreSSL 版本是 2.8.3。当我使用“brew upgrade [email protected]”时,它说“[email protected] 1.1.1t already installed”。如果您知道如何解决此问题,请通知我!谢谢!

© www.soinside.com 2019 - 2024. All rights reserved.