Вы можете повлиять на это с помощью PATH, расширив PATH до вызова tox (по крайней мере, на Linux, возможно, не на Windows).
Чтобы получить более мелкий контроль и заставить его работать в Windows (где AFAIK вы не можете установить переменную среды для использования одной команды, например, в Unix/Linux), вы можете использовать пакет расширения токсичности tox-globinterpreter
(отказ от ответственности Я являюсь автором этого пакета), который вы можете установить с помощью pip
.
Пакет добавляет --scan
опцию tox
который выписывает явное отображение из py27
, py36
и т.д. для питона исполняемого файла.
E.g. Я:
tox --scan /opt/python/{2,3}.?/bin/python /opt/python/pypy2/bin/pypy
на моей системе, основанной Linux, где/Opt/питон/XY является ссылкой на последней выпустила версию Python, как установлено в/Opt/Python/XYZ (или последней версии в случае версии развития как 3.6), это дает в качестве вывода:
interpreters:
python2.6 /opt/python/2.6/bin/python
python2.7 /opt/python/2.7/bin/python
python3.2 /opt/python/3.2/bin/python
python3.3 /opt/python/3.3/bin/python
python3.4 /opt/python/3.4/bin/python
python3.5 /opt/python/3.5/bin/python
python3.6 /opt/python/3.6/bin/python
pypy /opt/python/pypy2/bin/pypy
Когда я изменяю сканирование на:
tox --scan /opt/python/2.6/bin/python /opt/python/2.7.13*/bin/python \
/opt/python/3.?/bin/python /opt/python/pypy2/bin/pypy
я получаю:
interpreters:
python2.6 /opt/python/2.6/bin/python
python2.7 /opt/python/2.7.13rc1/bin/python
python3.2 /opt/python/3.2/bin/python
python3.3 /opt/python/3.3/bin/python
python3.4 /opt/python/3.4/bin/python
python3.5 /opt/python/3.5/bin/python
python3.6 /opt/python/3.6/bin/python
pypy /opt/python/pypy2/bin/pypy
И tox -e py27
будет использовать кандидат на выпуск 2.7.13. Вы можете сохранить файл конфигурации (в ~/.config/tox
или %APPDATA%\tox
), если переключение туда и обратно, но повторное сканирование довольно быстро, поэтому я бы сделал для этого сценарий оболочки/псевдоним/пакетный файл.