Python与tox。如何为特定依赖设置install_command
你好,我正在尝试使用Tox来设置我的测试环境。
我想解决什么问题呢?
我有几台服务器在运行测试,它们的网络设置各不相同(比如不同的IP地址、不同的接口名称等等)。所以我准备了一个模块,里面包含了所有的配置,我是通过服务器编号来安装它的,也就是说:
pip install . --install-option="--serverNumber=102"
这样在我的环境中,我只有一个配置,可以在测试中导入它,而不需要知道实际运行测试的服务器是什么。
现在我正在尝试使用Tox来设置虚拟环境,但我遇到了一个问题,因为我不知道怎么为某个特定的依赖项定义安装命令。我甚至不知道这是否可能。
提前谢谢你的帮助。
祝好,
Krzysztof
2 个回答
-1
这样做怎么样:
先运行
pip install
来安装所有需要的包。然后卸载你想要的那个特定包,再用
pip install foobar
重新安装,并加上额外的安装选项。
-
pip uninstall foobar
pip install foobar --install-option="--serverNumber=102"
2
在依赖项部分列出你的依赖,然后单独安装 foobar
:
[testenv]
deps =
dep1
dep2
dep3
....
commands =
pip install foobar --install-option="--serverNumber={posargs}"
py.test
如果你以这样的方式启动 tox:
tox -- 102
将会执行:
pip install foobar --install-option="--serverNumber=102"