【问题标题】:Pip SSLError WRONG_VERSION_NUMBER under proxy在代理下点 SSLError WRONG_VERSION_NUMBER
【发布时间】:2020-12-03 18:35:59
【问题描述】:

我使用 Python 3.8.5 和 Anaconda 虚拟环境。我需要使用 pip 在我的环境中安装一些 python 包。但是对于任何软件包安装,我都会收到与 SSL 错误和错误版本号相关的错误:

Ubuntu prompt

请注意,我的公司使用代理,但变量 http_proxyhttps_proxyHTTP_PROXYHTTPS_PROXY 都设置正确,我已经尝试使用 pip 选项 --proxy。我在不同的论坛上搜索了很多解决方案,但没有一个能帮助我解决我的问题。即使你不能解决它,如果我能对这个错误有一些解释,我将非常感激。例如:

  • 为什么 SSL 提到错误的版本号?
  • 这个问题一定与代理有关吗?

另外请注意,我的操作系统是 Ubuntu 20.04。

提前感谢您的帮助。

编辑:

Steffen Ulrich 发现问题:https_variable 设置为 https://proxy 而不是 http://proxy。非常感谢史蒂芬!

【问题讨论】:

  • "... http_proxy、https_proxy、HTTP_PROXY 和 HTTPS_PROXY 都已正确设置..." - 怀疑,您实际上并没有显示这一点。我的猜测是您已将 https_proxy 环境变量设置为 https://proxy 而不是 http://proxy 假设代理本身可以通过 https 访问 - 这可能是错误的。
  • 这显然是正确的,适用于中等质量的一切,但不是 pip....

标签: python ssl proxy pip anaconda


【解决方案1】:

https_variable 应设置为http://proxy 而不是https://proxy

所以,在其他任何事情之前,只需运行以下命令:

对于 Windows:

set https_proxy=http://login:password@address:port

对于 Ubuntu:

export https_proxy=http://login:password@address:port

【讨论】:

  • 你怎么知道这样做(从“https”切换到“http”)?有没有一本书可以让我阅读更多关于这方面的内容?
【解决方案2】:

对我来说,Windows 10 的 Python 3.9 和 3.8 都有问题。

对我来说非常棒的解决方案是在 Windows 级别(在 Internet Explorer 中)取消设置代理

将其粘贴到 Windows + R(运行提示)中,然后取消选中所有代理设置。

rundll32.exe shell32.dll,Control_RunDLL inetcpl.cpl,,4

然后在你的 pip 命令中设置代理

pip install package --proxy http://proxy:3128

Confirmed a bug exists when system proxy is set pip ignores the command line

【讨论】:

    猜你喜欢
    • 2021-03-05
    • 1970-01-01
    • 2021-04-07
    • 1970-01-01
    • 1970-01-01
    • 2018-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多