首页 文章

pip始终无法通过ssl验证

提问于
浏览
7

即使我做 pip install dedupepip install --trusted-host pypi.python.org dedupe ,Pip总是失败ssl

无论如何,输出总是相同的:

收集重复数据删除重试(重试(总数= 4,连接=无,读取=无,重定向=无,状态=无))连接被“SSLError”破坏后(SSLError(1,'[SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败(_ssl) .c:777)'),)':/ simple / dedupe / Retrying ... skip to找不到满足需求重复数据删除的版本(来自版本:)没有找到重复数据删除的匹配分布

所以我卸载了anaconda并重新安装了它 . 一样 .

你认为问题是我的_ssl.c文件(我不知道它在哪里)必须是腐败的还是什么?为什么pip需要参考,如果我告诉它绕过ssl验证呢?

1 回答

  • 12

    它可以与PyPI domainsrecent change相关 . 因此,请确保您的防火墙/代理允许访问/来自:

    • pypi.org

    • files.pythonhosted.org

    你也可以尝试一下这样的事情:
    $ python -m pip <command> --trusted-host files.pythonhosted.org --trusted-host pypi.org --trusted-host pypi.python.org ... --proxy ...

    --trusted-host 选项对于PiPY并不重要,因为pypi.org(以前称为pypi.python.org)确实使用HTTPS,并且前面有CDN,无论连接pip客户端选项如何,它总是强制执行TLSv1.2握手要求 . 但是如果你有自己的pypi.org本地镜像,只有HTTP访问权限,那么 --trusted-host 可能很方便 . 哦,如果你坐在代理后面,请同时确保也指定它: --proxy [user:passwd@]proxyserver:port

    否则,您可能需要更新系统openssl库和/或pip - 尝试使用 -vvv 选项运行pip以向输出添加详细程度,并查看this thread中是否确实存在 tlsv1 alert protocol version 错误 .

相关问题