我在公司笔记本电脑中使用代理服务器连接到Internet的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本地安装一个模块?
谢谢
同时,我知道解决方案。pip
在大写字母中需要环境变量HTTP_PROXY
和HTTPS_PROXY
,而不是http_proxy
。因此,在您的'〜/.bashrc'
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软件包。
不要激活Virtualenv并使用通往Virtualenv Pip的完整路径来运行您的pip install --proxy ...
命令。
C:UsersnamemyvenvScriptspip install --proxy=http://user:pass@<proxy_address>:<portnumber> virtualenv
您可能需要退出Virtualenv并脱机安装软件包。下载包裹:
pip download -d <path/to/downloads/> {package_name | -r requirements.txt}
然后输入您的Virtualenv,以:
安装软件包pip install {package_name| -r requiements.txt} --no-index --find-links <path/to/downloads/>