在虚拟环境中使用代理进行 pip 安装
pip install using proxy in a virtual environment
我在公司的笔记本电脑上使用 Ubuntu 虚拟机工作,该虚拟机使用代理服务器连接到互联网。
经过一些研究,我发现了如何使用 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 和 运行 你的 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}
然后进入你的虚拟环境,安装包:
pip install {package_name| -r requiements.txt} --no-index --find-links <path/to/downloads/>
我在公司的笔记本电脑上使用 Ubuntu 虚拟机工作,该虚拟机使用代理服务器连接到互联网。
经过一些研究,我发现了如何使用 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 和 运行 你的 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}
然后进入你的虚拟环境,安装包:
pip install {package_name| -r requiements.txt} --no-index --find-links <path/to/downloads/>