我需要在 tox 环境中为 pip 安装命令设置 https代理。
Currenly,我有类似的东西:
...
[toxenv:test]
install_command = pip install {opts} {packages}
commands =
<command1>
<command2>
...
如果我只使用pip命令,例如:
pip install <package>
我会遇到错误,因为我在代理之后。
所以我做了类似这样的事情,它就像一个sharm:
https_proxy=<proxy_url> pip install <package>
但是,问题是我需要为pip install命令设置代理 ,以及其他命令( command1 , command2 ,...) https_proxy 应该取消设置。
所以问题是如何在tox中为pip install命令设置设置https_proxy,并为所有其他命令设置 not set 。
P.S。做这样的事情并不奏效:
install_command = https_proxy=<proxy_url> pip install {opts} {packages}
P.s.s。 pip --proxy 选项也不起作用,因为它仅设置 http_proxy 。< / p>
事先谢谢!
答案 0 :(得分:3)
您可以在tox会话中设置env变量,并将pip命令包装在脚本中
proxy_pip.sh
#!/bin/bash
https_proxy=$my_https_proxy http_proxy=$http_proxy pip $@
tos.ini
[testenv]
setenv =
my_http_proxy = <proxy_url>
my_https_proxy = <proxy_url>
install_command = proxy_pip.sh install {opts} {packages}
commands =
<command1>
<command2>