【问题标题】:Unable to install python librarys with pip due to SSL Error由于 SSL 错误,无法使用 pip 安装 python 库
【发布时间】:2021-06-01 06:49:45
【问题描述】:

我已经为此苦苦挣扎了很长一段时间,基本上无法用 pip 做任何事情。我见过的其他帖子似乎都不适用于我的场景。我感谢任何人可以给我的任何帮助。

系统正在运行 Centos 7

python 是通过以 root 身份运行的 yum 安装的。

>python3.6 -m pip --trusted-host=pypi.org --trusted-host=pypi.python.org install flask
Defaulting to user installation because normal site-packages is not writeable
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:877)'),)': /simple/flask/
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:877)'),)': /simple/flask/
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:877)'),)': /simple/flask/
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:877)'),)': /simple/flask/
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:877)'),)': /simple/flask/
Could not fetch URL https://pypi.org/simple/flask/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/flask/ (Caused by SSLError(SSLError(1, '[SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:877)'),)) - skipping
ERROR: Could not find a version that satisfies the requirement flask
ERROR: No matching distribution found for flask
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:877)'),)) - skipping

我已确认 pip 最迟:

>python3.6 -m pip --version
pip 21.0.1 from /home/user/.local/lib/python3.6/site-packages/pip (python 3.6)

并且openssl安装在yum中

Package 1:openssl-devel-1.0.2k-21.el7_9.x86_64 already installed and latest version

python可以使用ssl:

python3.6 -m ssl

谢谢!

编辑:旧版本的 PIP 似乎至少可以正常下载

【问题讨论】:

标签: python python-3.x ssl pip


【解决方案1】:

我今天也遇到了同样的错误,就我而言,这是因为 Python 无法处理在服务器上设置的 HTTP 代理环境变量。似乎 Python 正试图使用​​ HTTP 端口 (:80) 启动 TCP 握手,但显然失败了。

幸运的是,就我而言,我能够在没有代理的情况下访问 pypi.org,所以这解决了我的问题:

http_proxy= https_proxy= sudo pip3.8 install [PKGNAME]

如果这对您不起作用,请仔细检查您是否获得了所有各种环境变量:

env | grep -i proxy

例如,它们可能在您的系统上全部大写 (HTTP_PROXY/HTTPS_PROXY),或者您可以设置 ALL_PROXY/all_proxy

如果仍然无法正常工作,您可能无法在没有代理的情况下访问 pypi,因此您必须弄清楚如何使其工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-10
    • 2015-12-22
    • 2022-01-08
    • 2016-04-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多