繁体   English   中英

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

[英]pip install using proxy in a virtual environment

我在公司笔记本电脑上的 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_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

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

不要激活 virtualenv 并运行您的pip install --proxy ...命令,并使用您的 virtualenv pip 的完整路径,即

C:\\Users\\name\\myvenv\\Scripts\\pip 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/>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM