使用 urllib OpenSSL 时遇到的问题及解决

题意:

ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with LibreSSL 2.8.3

当前使用的 urllib3 版本(v2.0)仅支持 OpenSSL 1.1.1 或更高版本,但你的 Python 环境中的 ssl 模块却是用 LibreSSL 2.8.3 编译的

问题背景:

After pip install openai, when I try to import openai, it shows this error:

安装了openai库之后尝试导入 openai 时出现的错误:

the 'ssl' module of urllib3 is compile with LibreSSL not OpenSSL

I just followed a tutorial on a project about using API of OpenAI. But when I get to the first step which is the install and import OpenAI, I got stuck. And I tried to find the solution for this error but I found nothing.

我刚刚按照一个关于使用OpenAI API的项目的教程进行操作。但当我进行到第一步,即安装和导入OpenAI时,我遇到了问题。我尝试寻找这个错误的解决方案,但什么也没找到。

Here is the message after I try to import 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

I tried to --upgrade the urllib3, but it is still not working. The result is:

我尝试对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)

问题解决:

The reason why the error message mentioned OpenSSL 1.1.1+ and LibreSSL 2.8.3 is that urllib3 v2.0 (the version you've installed) requires OpenSSL 1.1.1+ to work properly, as it relies on some new features of OpenSSL 1.1.1.

错误消息中提到OpenSSL 1.1.1+和LibreSSL 2.8.3的原因是,您已安装的urllib3 v2.0版本需要OpenSSL 1.1.1+才能正常工作,因为它依赖于OpenSSL 1.1.1的一些新功能。LibreSSL虽然与OpenSSL相似,但在某些方面可能不完全兼容,特别是如果它的版本低于OpenSSL 1.1.1,则可能不包含urllib3 v2.0所需的功能。

The issue is that the version of the 'ssl' module that is currently installed in your environment is compiled with LibreSSL 2.8.3, which is not compatible with urllib3 v2.0.

问题是,当前在您的环境中安装的'ssl'模块版本是使用LibreSSL 2.8.3编译的,这与urllib3 v2.0不兼容。

To use urllib3 v2.0, you need an 'ssl' module compiled with OpenSSL 1.1.1 or later, by trying:

为了使用urllib3 v2.0,您需要一个使用OpenSSL 1.1.1或更高版本编译的'ssl'模块。您可以尝试以下方法来解决这个问题:

brew install openssl@1.1

Or you could use an older version of urllib3 that is compatible suc. For example urllib3 v1.26.6, which does not have a strict OpenSSL version requirement. You can force the version installing with this command:

或者,可以使用与LibreSSL兼容的旧版本的urllib3。例如,urllib3 v1.26.6就没有严格的OpenSSL版本要求。您可以使用以下命令强制安装特定版本

pip install urllib3==1.26.6

相关推荐

  1. 使用buildozer 打包 apk遇到问题

    2024-07-10 19:36:05       13 阅读
  2. SpringBoot整合Mybatis遇到常见问题解决方案

    2024-07-10 19:36:05       48 阅读
  3. facebook广告容易遇到问题解决方案

    2024-07-10 19:36:05       37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 19:36:05       5 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 19:36:05       5 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 19:36:05       4 阅读
  4. Python语言-面向对象

    2024-07-10 19:36:05       7 阅读

热门阅读

  1. Emacs有什么优点,用Emacs写程序真的比IDE更方便吗?

    2024-07-10 19:36:05       9 阅读
  2. AWS Glue 与 Amazon Redshift 的安全通信配置

    2024-07-10 19:36:05       12 阅读
  3. Elasticsearch7.5.2 常用rest api与elasticsearch库

    2024-07-10 19:36:05       8 阅读
  4. MySQL 的 Buffer Pool 的结构及有什么作用

    2024-07-10 19:36:05       10 阅读
  5. 【大模型】解锁语言模型潜能:提示工程的艺术

    2024-07-10 19:36:05       10 阅读
  6. docker run enteypoint怎么样使用呢?

    2024-07-10 19:36:05       8 阅读
  7. kafka中

    kafka中

    2024-07-10 19:36:05      10 阅读
  8. 探索Vue.js:构建高效前端应用的现代框架

    2024-07-10 19:36:05       6 阅读
  9. ffmpeg 获取视频时长的命令及其输出

    2024-07-10 19:36:05       10 阅读
  10. 使用Python绘制甘特图

    2024-07-10 19:36:05       12 阅读
  11. uboot spi nor flash初始化相关的阅读分析(一)

    2024-07-10 19:36:05       10 阅读
  12. 最小生成树(算法篇)

    2024-07-10 19:36:05       10 阅读
  13. K8S集群应用国产信创适配实战经验总结

    2024-07-10 19:36:05       8 阅读
  14. 方程与不等式

    2024-07-10 19:36:05       12 阅读