我遇到了同样的问题,因为能够在不调用测试(通过)的情况下创建环境对我来说很重要--notest
,所以我希望安装发生在安装阶段而不是运行阶段,所以我做了一些稍微不同的事情. 首先,我创建了一个create-env
脚本:
#!/usr/bin/env sh
set -e
pip install $@
nodeenv --prebuilt --python-virtualenv --node=8.2.1
使其可执行,然后在 tox.ini 中:
[tox]
skipsdist = True
[testenv]
install_command = ./create-env {opts} {packages}
deps = nodeenv
commands = node --version
这个完整的示例运行并输出以下内容:
$ tox
python create: .../.tox/python
python installdeps: nodeenv
python installed: nodeenv==1.3.0
python runtests: PYTHONHASHSEED='1150209523'
python runtests: commands[0] | node --version
v8.2.1
_____________________________________________________________________ summary ______________________________________________________________________
python: commands succeeded
congratulations :)
这种方法的缺点是它只能在 Unix 上工作。
在tox 715中,我提出了本地支持多个安装命令的可能性。