我在公司的笔记本电脑上使用Ubuntu VM,它使用代理服务器连接到互联网。
经过一些研究后,我发现如何使用代理使用pip install
安装模块。例如,使用此命令我可以安装我的virtualenv模块:
sudo pip install --proxy=http://user:pass@<proxy_address>:<portnumber> virtualenv
但是,在创建虚拟环境文件夹后,将其激活,然后使用此pip命令安装模块:
pip install --proxy=http://user:pass@<proxy_address>:<portnumber> pyperclip
我收到此错误:
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/
如果我使用sudo
,pip可以下载并安装模块,但是在系统全局包中而不是在我的虚拟环境中。对我来说,我的Ubuntu及其代理设置中存在权限问题。
我如何解决这个问题,以便我可以在virtualenv中本地安装模块?
由于
答案 0 :(得分:4)
同时,我知道解决方案。 pip
需要大写字母的环境变量HTTP_PROXY
和HTTPS_PROXY
,而不是http_proxy
。
因此,请在您的&#39;〜/ .bashrc&#39;的末尾附加文字图案。
HTTP_PROXY=http://username:pass@proxyaddress:port
export HTTP_PROXY
HTTPS_PROXY=http://username:pass@proxyaddress:port
export HTTPS_PROXY
然后,运行source ~/.bashrc
现在,您可以使用代理登录在Ubuntu VM中使用pip
安装所有python包。
答案 1 :(得分:0)
请勿激活virtualenv,并使用您的virtualenv点的完整路径运行pip install --proxy ...
命令。
C:\Users\name\myvenv\Scripts\pip install --proxy=http://user:pass@<proxy_address>:<portnumber> virtualenv
答案 2 :(得分:0)
您可能需要退出 virtualenv 并离线安装软件包。下载软件包:
app2
然后进入你的virtualenv,安装包:
pip download -d <path/to/downloads/> {package_name | -r requirements.txt}