在tox环境中为pip安装命令设置https代理
我需要为tox环境中的pip安装命令设置https代理。
目前,我有这样的设置:
...
[toxenv:test]
install_command = pip install {opts} {packages}
commands =
<command1>
<command2>
...
如果我只使用pip命令,比如:
pip install <package>
我会遇到错误,因为我在代理后面。
所以我做了这样的设置,效果很好:
https_proxy=<proxy_url> pip install <package>
但是,问题是我只想为pip安装命令设置代理,而其他命令(command1、command2等)应该不设置代理。
所以我的问题是,如何在tox中仅为pip安装命令设置https代理,并确保其他命令不设置代理。
附注:这样做是行不通的:
install_command = https_proxy=<proxy_url> pip install {opts} {packages}
附注的附注:pip --proxy选项也没用,因为它只设置http_proxy。
提前谢谢!
1 个回答
3
#!/bin/bash
https_proxy=$my_https_proxy http_proxy=$http_proxy pip $@
[testenv]
setenv =
my_http_proxy = <proxy_url>
my_https_proxy = <proxy_url>
install_command = proxy_pip.sh install {opts} {packages}
commands =
<command1>
<command2>
你可以在tox会话中设置环境变量,并把你的pip命令放在一个脚本里。
proxy_pip.sh
是这个脚本的名字。
tos.ini
是另一个文件的名字。