You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 4.4.0-176-generic运行pip/pip3报PROTOCOL_SSLv3属性错误无法使用

问题说明
  • 运行环境:Ubuntu 4.4.0-176-generic
  • 故障表现:执行pip或pip3命令时直接抛出异常,无法正常使用,完整报错信息如下:
Traceback (most recent call last):
  File "/usr/local/bin/pip", line 9, in <module>
    load_entry_point('pip==1.5.6', 'console_scripts', 'pip')()
  File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 356, in load_entry_point
  File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 2476, in load_entry_point
  File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 2190, in load
  File "/usr/local/lib/python2.7/dist-packages/pip/__init__.py", line 11, in <module>
    from pip.vcs import git, mercurial, subversion, bazaar  # noqa
  File "/usr/local/lib/python2.7/dist-packages/pip/vcs/mercurial.py", line 9, in <module>
    from pip.download import path_to_url
  File "/usr/local/lib/python2.7/dist-packages/pip/download.py", line 22, in <module>
    from pip._vendor import requests, six
  File "/usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/__init__.py", line 53, in <module>
    from .packages.urllib3.contrib import pyopenssl
  File "/usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/packages/urllib3/contrib/pyopenssl.py", line 70, in <module>
    ssl.PROTOCOL_SSLv3: OpenSSL.SSL.SSLv3_METHOD,
AttributeError: 'module' object has no attribute 'PROTOCOL_SSLv3'
  • 核心矛盾:常规修复方案需要通过pip重装适配版本的requests库,但当前pip本身已经损坏无法启动,无法执行安装操作。
修复方案

以下方案均不需要依赖可正常运行的pip,可直接操作修复:

方案1:通过系统包管理器重装适配版本的pip(最稳定,优先推荐)

旧版手动安装的pip 1.5.6和系统当前高版本OpenSSL不兼容,Ubuntu官方源提供的pip版本已经做了适配,直接替换即可:

  1. 先清理损坏的旧pip残留:
    sudo apt remove -y python-pip python3-pip
    sudo rm -rf /usr/local/lib/python2.7/dist-packages/pip* /usr/local/bin/pip /usr/local/bin/pip3
    
  2. 更新软件源后重新安装pip:
    sudo apt update
    sudo apt install -y python-pip python3-pip
    
  3. 执行pip --version、pip3 --version验证,能正常输出版本信息即修复完成。

方案2:通过官方引导脚本重装新版pip

如果需要使用官方最新版pip,可以用Python解释器直接运行引导脚本安装,不需要依赖现有pip:

  1. 下载对应Python版本的官方get-pip引导脚本到本地。
  2. 执行对应命令完成安装:
    # 修复Python2的pip
    sudo python get-pip.py
    # 修复Python3的pip
    sudo python3 get-pip.py
    
  3. 脚本执行完成后会自动覆盖旧的损坏版本,验证版本输出正常即可。

方案3:临时修改文件绕过报错(应急使用)

如果暂时不方便重装,可以直接修改报错文件临时修复:

  1. 用文本编辑器打开报错对应的py文件:
    sudo vi /usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/packages/urllib3/contrib/pyopenssl.py
    
  2. 定位到第70行附近的ssl.PROTOCOL_SSLv3: OpenSSL.SSL.SSLv3_METHOD,配置项,直接注释或者删除该行,保存退出。
  3. 此时pip可以临时正常运行,建议后续尽快升级到新版pip,避免后续出现其他兼容性问题。

内容的提问来源于stack exchange,提问作者marc.soda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 16:57:18