如何在身份validation代理之后的Windows上使用pip

我的电脑在Windows服务器(使用活动目录)上的代理后面运行窗口,我不知道如何通过点击(在python3)通过它。 我曾尝试使用--proxy ,但它仍然只是超时。 我也试过设置一个很长的超时时间(60s),但是没有什么区别。 我的代理设置是正确的,我将它们与我在TortoiseHG成功使用的那些进行了比较。

是否有任何其他的技巧,任何人都知道,我可以尝试,还是有一些与Windows代理方面的限制pip

更新:我失败的尝试涉及searchpypi。 我刚刚试过实际安装的东西,它的工作。 虽然search仍然失败。 这是否表示在pip的错误,或者他们工作不同?

我已经尝试了两个选项,这两个选项都适用于我公司的NTLM身份validation代理。 选项1是使用--proxy http://user:pass@proxyAddress:proxyPort

如果你仍然遇到麻烦,我会build议安装一个代理authentication服务(我使用CNTLM ),并指出点它,即像--proxy http://localhost:3128

我花了几个小时才弄清楚了,但是我终于把它用到了CNTLM上,然后用它来configuration一个pipconfiguration文件。 以下是我如何使用PIPconfiguration文件…

解:

1.在Windows中导航到您的用户configuration文件目录(例如C:\ Users \ Sync)并创build一个名为“ pip ”的文件夹

2.在这个目录(例如C:\ Users \ Sync \ pip \ pip.ini)中创build一个名为“ pip.ini ”的文件,并在其中input以下内容:

  [global] trusted-host = pypi.python.org proxy = http://[domain name]%5C[username]:[password]@[proxy address]:[proxy port] 

用您自己的信息replace[域名][用户名][密码][代理地址][代理端口]

3.在这一点上,我能够运行“ 点安装 ”没有任何问题。

希望这也适用于其他人!

PS:这可能会造成安全问题,因为您的密码以纯文本forms存储。 如果这是一个问题,考虑使用这篇文章设置CNTLM(允许使用散列密码,而不是纯文本)。 之后在上面提到的“pip.ini”文件中设置proxy = 127.0.0.1:3128

我有一个类似的问题,并发现我的公司使用NTLM代理身份validation。 如果你在你的pip.log中看到这个错误,可能是这个问题:

无法获取URL http://pypi.python.org/simple/pyreadline:HTTP错误407:需要代理身份validation(ISA服务器需要授权才能完成请求,拒绝访问Web代理筛选器。;

通过成为中间代理,可以使用NTLMaps与NTLM代理服务器进行交互。

下载NTLMAPs,更新包含的server.cfg,运行main.py文件,然后将pip的代理设置指向127.0.0.1 :.

我还需要将server.cfg文件中的这些默认值更改为:

 LM_PART:1 NT_PART:1 # Highly experimental option. See research.txt for details. # LM - 06820000 # NT - 05820000 # LM + NT - NTLM_FLAGS: 07820000 

http://ntlmaps.sourceforge.net/

我在Windows 7上遇到了同样的问题。我设法通过在其中创build一个带有“pip.ini”文件的“pip”文件夹来工作。 我把这个文件夹放在“C:\ Users \ {my.username} \ AppData \ Roaming”中,因为根据Python文档:

在Windows上,configuration文件是%APPDATA%\ pip \ pip.ini

在pip.ini文件中,我只有:

 [global] proxy = [proxy address]:[proxy port] 

所以没有用户名:密码。 它工作得很好。

这是我如何设置它:

  1. 以pipe理员身份打开命令提示符(CMD)。
  2. 导出代理设置:

    set http_proxy=http://username:password@proxyAddress:port

    set https_proxy=https://username:password@proxyAddress:port

  3. 安装你想安装的软件包:

    pip install PackageName

例如:

例

您也可能遇到来自代理的证书问题。 这里有很多关于如何检索你的代理证书的答案。

在Windows主机上,要允许pip清除您的代理,您可能需要设置一个环境variables,例如:

 PIP_CERT=C:\path\to\certificate\file\in\pem\form\myproxycert.pem 

您也可以使用--cert参数与PIP结果相同。