【问题标题】:python corporate firewall proxy 407 authentication required errorpython公司防火墙代理407需要身份验证错误
【发布时间】:2018-11-13 14:09:15
【问题描述】:

我在公司防火墙后面,虽然我可以访问 pypi 网站,但我无法通过 pip 安装软件包。我收到 407 错误:

""ProxyError('无法连接到代理。',OSError('隧道连接失败) : 407 authentication required'))': /simple"

我尝试了各种选项,例如:

pip install --proxy=http://proxyhost:proxy_port PackageName 不起作用

甚至设置

http_proxy=http://username:password@proxyAddress:port https_proxy=https://username:password@proxyAddress:port

由于公司防火墙,这些都不起作用。如何安装软件包?

【问题讨论】:

    标签: python


    【解决方案1】:

    经过很多努力,最简单的解决方案是:

    1. 访问 pypi 上的包网站,例如 https://pypi.org/project/pyodbc/#files
    2. 找到相关的轮子, 在本地机器上下载它
    3. 打开命令提示符并导航 到下载包的位置,例如"C:\"
    4. 运行点子 安装 pyodbc-4.0.24-cp37-cp37m-win32.whl
    5. 瞧,包应该 安装

    【讨论】:

      【解决方案2】:

      我有一个类似的问题,我可以通过在我的机器上安装一个本地 cntlm proxy 来解决它(即使 没有管理员权限也可以通过简单地下载 .zip 文件夹来完成。你'将需要调整cntlm.ini文件(插入用户名、域、密码(您可以省略密码并在启动时输入)、代理和监听变量(有关更详细的说明,请参阅here)并创建一个@ 987654324@-file 在您的用户目录中名为“pip”的文件夹中(这对我有用,您也可以将它放在其他地方),内容如下

      [global]
      trusted-host = pypi.python.org
                     pypi.org
                     files.pythonhosted.org
      proxy = # your local proxy address here (usually 127.0.0.1:3128)
      

      之后,使用path/to/your/cntlm.exe -c cntlm.ini -I -f 启动本地代理(我使用批处理脚本),然后 pip 应该将您的 Web 请求路由到本地代理,然后本地代理将在您的公司防火墙处为您处理身份验证。

      通过此设置,我目前可以在公司防火墙后面使用任何和所有pip install-commands

      【讨论】:

      • 我希望这能工作 :( 但是在使用 cntlm 几个小时后,我不得不转向手动解决方案
      猜你喜欢
      • 1970-01-01
      • 2012-07-30
      • 1970-01-01
      • 2012-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多