我的计算机在Windows服务器上运行Windows后面的窗口(使用活动目录),我无法弄清楚如何通过qazxswpoi(在python3中)来完成它。我尝试过使用pip
,但它仍然只是超时。我也试过设置一个长时间超时(60s),但这没有任何区别。我的代理设置是正确的,我将它们与我在TortoiseHG中成功使用的设置进行了比较以确保。
有没有人知道我可以尝试的任何其他技巧,或者--proxy
有关于Windows代理的限制?
更新:我失败的尝试涉及搜索pypi。我刚尝试安装一些东西,但它确实有效。但搜索仍然失败。这是否表示pip
中的错误或它们的工作方式不同?
我已经尝试了两个选项,这两个选项都适用于我公司的NTLM认证代理。选项1是使用pip
如果你仍然遇到麻烦我会建议安装一个代理身份验证服务(我使用--proxy http://user:pass@proxyAddress:proxyPort
)并指向它,就像CNTLM
我花了几个小时来计算出来,但我终于让它使用CNTLM工作,然后让它只使用一个pip配置文件。这是我如何使用pip配置文件...
解:
1.在Windows中导航到您的用户配置文件目录(例如C:\ Users \ Sync)并创建名为“pip”的文件夹
2.在此目录中创建名为“pip.ini”的文件(例如C:\ Users \ Sync \ pip \ pip.ini)并在其中输入以下内容:
--proxy http://localhost:3128
用您自己的信息替换[域名],[用户名],[密码],[代理地址]和[代理端口]。
3.此时我能够毫无问题地运行“pip install”。
希望这也适用于其他人!
P.S。:由于您的密码以纯文本格式存储,因此可能会引起安全问题。如果这是一个问题,请考虑使用 [global]
trusted-host = pypi.python.org
pypi.org
files.pythonhosted.org
proxy = http://[domain name]%5C[username]:[password]@[proxy address]:[proxy port]
设置CNTLM(允许使用散列密码而不是纯文本)。然后将this articlein设置为上面提到的“pip.ini”文件。
我就是这样设置的:
proxy = 127.0.0.1:3128
set http_proxy=http://username:password@proxyAddress:port
set https_proxy=https://username:password@proxyAddress:port
例如:
pip install PackageName
我有类似的问题,发现我的公司使用NTLM代理身份验证。如果您在pip.log中看到此错误,则可能是此问题:
无法获取URL
[global] proxy = [proxy address]:[proxy port]
:HTTP错误407:需要代理身份验证(ISA Server需要授权才能完成请求。拒绝访问Web代理筛选器。)
通过成为中间代理,NTLMaps可用于与NTLM代理服务器连接。
下载NTLMAP,更新包含的server.cfg,运行main.py文件,然后将pip的代理设置指向127.0.0.1:。
我还需要将http://pypi.python.org/simple/pyreadline文件中的这些默认值更改为:
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
您可能还会遇到来自代理的证书问题。这里有很多关于如何检索代理证书的答案。
在Windows主机上,要允许pip清除代理,您可能需要设置环境变量,例如:
http://ntlmaps.sourceforge.net/
您也可以使用与PIP_CERT=C:\path\to\certificate\file\in\pem\form\myproxycert.pem
相同的--cert
参数。
我在远程Windows环境中遇到了同样的问题。我在这里或其他类似的帖子上尝试了很多解决方案,但没有任何效果。最后,解决方案非常简单。我不得不用cmd设置PIP
:
NO_PROXY
你必须使用双引号并将set NO_PROXY="<domain>\<username>:<password>@<host>:<port>"
pip install <packagename>
设置为大写。您还可以将NO_PROXY
添加为环境变量,而不是每次使用控制台时都设置它。
如果此处发布的任何其他解决方案有效,我希望这有用。
安装cntlm:NO_PROXY
配置cntlm.ini:
用户名ob66759
域名NAM
密码保密
代理proxy1.net:8080
代理proxy2.net:8080
NoProxy localhost,127.0.0。*,10. *,192.168。*
听3128
允许127.0.0.1
#your IP
允许10.106.18.138
启动它:
cntlm -v -c cntlm.ini
现在在cmd.exe中:
pip install --upgrade pip --proxy 127.0.0.1:3128
Cntlm: Fast NTLM Authentication Proxy in C
作品!
您还可以隐藏密码:Collecting pip
Downloading https://files.pythonhosted.
44c8a6e917c1820365cbebcb6a8974d1cd045ab4/
100% |███████████████████████████████
Installing collected packages: pip
Found existing installation: pip 9.0.1
Uninstalling pip-9.0.1:
Successfully uninstalled pip-9.0.1
Successfully installed pip-10.0.1
在我的情况下,当我以管理员身份打开命令提示符(cmd)并且不需要有关代理设置的更多信息时,它可以工作。