在虚拟环境中使用代理进行pip安装

why*_*hy2 5 python ubuntu pip virtualenv proxy-server

我在公司笔记本电脑中使用Ubuntu VM进行工作,该VM使用代理服务器连接到Internet。经过一些研究,我发现了如何使用pip install代理安装模块。例如,使用以下命令,我可以安装我的virtualenv模块:

sudo pip install --proxy=http://user:pass@<proxy_address>:<portnumber> virtualenv
Run Code Online (Sandbox Code Playgroud)

但是,在创建虚拟环境文件夹之后,将其激活,然后使用以下pip命令安装模块:

pip install --proxy=http://user:pass@<proxy_address>:<portnumber> pyperclip
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

 Retrying (Retry(total=4, connect=None, read=None, redirect=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 407 Proxy Authentication Required',))': /simple/pyperclip/
Run Code Online (Sandbox Code Playgroud)

如果使用sudo,则pip可以下载并安装模块,但使用系统全局软件包而不是在我的虚拟环境中。在我看来,Ubuntu及其代理设置中存在权限问题。

如何解决此问题,以便可以在virtualenv中本地安装模块?

谢谢

why*_*hy2 7

同时,我知道解决方案。pip需要环境变量HTTP_PROXYHTTPS_PROXY大写字母,而不是http_proxy. 所以在你的“~/.bashrc”的末尾追加下面的文本模式

HTTP_PROXY=http://username:pass@proxyaddress:port
export HTTP_PROXY
HTTPS_PROXY=http://username:pass@proxyaddress:port
export HTTPS_PROXY
Run Code Online (Sandbox Code Playgroud)

然后,运行source ~/.bashrc 现在您可以使用pip代理登录安装在您的 Ubuntu VM 中使用的所有 python 包。