3

我需要在tox环境中为pip install 命令设置https 代理。

目前,我有这样的事情:

...
[toxenv:test]
install_command = pip install {opts} {packages}
commands = 
    <command1>
    <command2>
...

如果我只使用 pip 命令,例如:

pip install <package>

我会出错,因为我在代理后面。

所以我做了这样的事情,它就像一个沙姆一样工作:

https_proxy=<proxy_url> pip install <package>

但是,问题是我需要为 pip install 命令设置代理,而对于其他命令(command1command2,...)https_proxy应该取消设置。

所以问题是如何在 tox 中为 pip install 命令设置 https_proxy 并使其为所有其他命令设置。

Ps 做这样的事情是行不通的:

install_command = https_proxy=<proxy_url> pip install {opts} {packages}

Pss pip --proxy选项也没有帮助,因为它只设置了http_proxy

先谢谢了!

4

1 回答 1

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>
于 2014-12-11T13:15:43.880 回答