python公司防火墙代理407身份验证要求错误



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

"在连接被"ProxyError('无法连接到代理。',OSError('隧道连接失败:需要407身份验证'('断开后重试(重试(总数=4,连接=无,读取=无,重定向=无,状态=无((:/simple">

我尝试了各种选择,比如:

pip安装-代理=http://proxyhost:proxy_portPackageName不起作用

甚至设置

http_proxy=http://username:password@proxyAddress:端口https_proxy=https://username:password@proxyAddress:端口

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

经过大量的挣扎,最简单的解决方案是:

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

我遇到了类似的问题,我可以通过在我的机器上安装本地cntlm代理来解决它(即使在没有管理员权限的情况下也可以通过下载.zip文件夹来完成(。您需要调整cntlm.ini文件(插入用户名、域、密码(您可以省略密码并在启动时输入(,Proxy和Listen变量(请参阅此处了解更多详细说明(,并在用户目录中名为"pip"的文件夹中创建一个pip.ini-文件(对我来说很有效,你也可以把它放在其他地方(,内容如下

[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-命令了

最新更新