我正试图在工作中通过代理使用pip。

这篇文章中的一个答案建议使用CNTLM。我安装和配置它根据这另一个帖子,但运行cntlm.exe -c cntlm.ini -I -M http://google.com给出错误连接到代理失败,退出。

我还尝试了pip install——proxy=user:pass@localhost:3128(默认的CNTLM端口),但会引发无法获取索引基础URL http://pypi.python.org/simple/。很明显代理出问题了。

有人知道如何更明确地检查CNTLM是否设置正确,或者是否有另一种方法完全绕过这个问题吗?我知道你也可以像这里描述的那样设置http_proxy环境变量,但我不确定要放入什么凭证。来自cntlm.ini的那些?


当前回答

手机作为移动热点/USB绑定

如果我很难通过公司代理找到方法,我会通过手机连接到网络(如果我有wifi,就用无线热点,如果没有USB),然后快速安装pip。

可能并不适用于所有的设置,但应该能让大多数人在紧要关头渡过难关。

其他回答

我可以通过运行:

pip install --proxy=http://user:pass@your.proxy.com:3128 package==version

我在公司代理中使用Python 3.7.3。

在带有身份验证的工作代理后使用pip,请注意,在使用用户和密码指定代理url时,某些操作系统需要引号:

pip install <module> --proxy 'http://<proxy_user>:<proxy_password>@<proxy_ip>:<proxy_port>'

文档:https://pip.pypa.io/en/stable/user_guide/使用代理服务器

例子:

pip3 install -r requirements.txt --proxy 'http://user:password@192.168.0.1:1234'

例子:

pip install flask --proxy 'http://user:password@192.168.0.1:1234'

代理也可以在pip.ini中手动配置。 例子:

[global]
proxy = http://user:password@192.168.0.1:1234 

文档:https://pip.pypa.io/en/stable/user_guide/配置文件

对于windows;在命令提示符中将代理设置为 设置HTTP_PROXY =域\用户名:password@myproxy: myproxyport

例如:set http_proxy=IND\namit.kewat:xl123456@192.168.180.150:8880

这是对我有效的方法:

pip --proxy proxy url:port command package

如果您通过代理连接到internet,则在运行某些命令时可能会出现问题。

在命令提示符中设置代理配置的环境变量,具体操作如下:

set http_proxy=http://username:password@proxyserver:proxyport
set https_proxy=https://username:password@proxyserver:proxyport