m0_52733805 2024-04-17 21:35 采纳率: 0%
浏览 180

python报错ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl'

ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'OpenSSL 1.1.0h 27 Mar 2018'.
这个报错应该怎么解决啊,白天还能正常运行,后来突然报这个错。
我试了pip install --upgrade ssl报错提示我这个

img


然后我按着提示的python -m pip install --upgrade pip也报错
我重下了3.12版本在pycharm创建项目的时候提示ModuleNotFoundError: No module named ‘distutils‘,没有venv文件夹
这些到底该怎么解决啊/(ㄒoㄒ)/~~

  • 写回答

5条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-04-17 21:35
    关注

    引自免费微信小程序:皆我百晓生

    看起来你遇到了几个不同的问题,我会逐一帮你解决。

    首先,关于urllib3OpenSSL版本不兼容的问题。你需要确保你的Python环境中的OpenSSL库是1.1.1或更高版本。如果你已经尝试升级ssl模块但失败了,那么可能是因为ssl模块是Python标准库的一部分,不能单独升级。你应该直接升级urllib3到一个支持当前OpenSSL版本的版本。执行下面的命令来升级urllib3

    pip install --upgrade urllib3
    

    如果这还不能解决问题,可能需要检查你的系统中安装的OpenSSL版本是否过低。你可以通过以下命令查看已安装的OpenSSL版本:

    openssl version
    

    如果版本低于1.1.1,你可能需要更新你的操作系统提供的OpenSSL库,或者在独立的环境中(如Anaconda或Miniconda)安装Python和相关依赖。

    接下来,对于pip升级失败的问题,这可能是由于旧版的pip自身有问题。尝试使用Python自带的包管理器重新安装pip

    python -m ensurepip --upgrade
    

    然后再次尝试升级urllib3

    对于ModuleNotFoundError: No module named 'distutils'错误,这通常发生在没有正确设置虚拟环境(venv)的情况下。确保你在正确的Python环境中运行这些命令。首先,创建一个新的虚拟环境:

    python3 -m venv my_venv
    

    然后激活它(根据你的操作系统不同,激活命令可能会有所不同):

    • 对于Unix-based系统(包括MacOS和Linux):
    source my_venv/bin/activate
    
    • 对于Windows系统:
    my_venv\Scripts\activate
    

    之后,你应该可以在虚拟环境中安装所需的库,而不会遇到distutils找不到的问题。

    如果以上步骤都不能解决问题,可能需要清理并重新安装Python环境。建议卸载现有的Python版本,然后从官方网站下载最新稳定的Python发行版进行安装:https://www.python.org/downloads/

    完成安装后,按照上述步骤创建新的虚拟环境,并安装所需的库。这样应该能解决所有问题。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月17日