问题说明

        今天要查询自己python3.6.8环境中已经安装的库包,使用pip list查询后,弹出了一个类似于警告的问题:"Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError(SSLError(1, '[SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:852)'),)) - skipping"

问题分析及解决

        这个错误通常是由于网络连接问题或者代理设置不正确导致的。以下是可能导致这个错误的原因和解决方法(实际上,自己用的是办公室内网,并没有设置全局代理外网服务器,只有浏览器中设置的有外网代理服务器):

1.网络连接问题:可能是由于网络连接不稳定或者防火墙等网络设置阻止了pip获取数据。解决方法包括:

  • 确保网络连接正常,尝试使用浏览器打开 Links for pip 确认是否能正常访问。
  • 可能需要设置代理服务器,可以通过在pip的配置文件中设置代理来解决。可以在用户目录下找到pip的配置文件 ~/.pip/pip.conf 或者全局配置文件 /etc/pip.conf,添加如下内容:
    [global]
    proxy = http://proxy_server:port
    

2.使用国内镜像:由于pypi.org在国外,国内访问速度可能较慢,可以考虑使用国内的镜像源来替代。可以通过修改pip的配置文件来使用国内的镜像源。在pip的配置文件中添加如下内容:

[global]
index-url = https://pypi.douban.com/simple

3.更新pip:有时候也可能是因为pip本身版本过旧导致的问题,可以尝试升级pip到最新版本:

pip install --upgrade pip

结果 

        自己拔掉内网连接上自己手机开的热点外网服务器后,这个问题得到了解决。然后,自己按照上面介绍的方法通过修改pip配置文件后,问题也是得到了解决。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐