plugin for tox - run everything directly (tox creates no virtual env)
Project description
tox-direct
PLEASE NOTE: only use this plugin if you know what you are doing and you have a good reason to do so. In the general case it is not necessary and considered bad practice.
tox plugin to be able to run commands directly without creating a virtual environments first.
This might seem pointless but if tox is used as a single entry point into all developer workflows this can be useful in certain scenarios - e.g.:
- something needs to be done which does not require a virtual environment (because only system commands are run)
- something has to run in the same interpreter that is running tox (e.g. testing things inside a docker container where everything is already set up correctly in a dedicated virtual environment)
At the moment there are two ways to run tox envs in direct mode:
- if the testenv name contains the word "direct"
- if the environment variable
TOX_DIRECT
is set
installation
pip install tox-direct
minimal example
[tox]
skipdist = True
; you could add this to express that it's needed but if it is not installed
; tox will create a venv and install it there and run everything from that
; venv which somehow defeats the purpose a bit then :)
;requires = tox-direct
[testenv:direct-action]
skip_install = True
commands = which python
[testenv:something-else]
skip_install = True
commands = which python
If I run these in a virtual environment (.virtualenvs/tmp
) with tox
and tox-direct
installed:
$ tox -qre direct-action
We need direct action! No virtual environment! Ain't Nobody Got Time for That!
/home/ob/.virtualenvs/tmp/bin/python
_______________________________ summary _______________________________________
direct-action: commands succeeded
congratulations :)
$ TOX_DIRECT=1 tox -qre something-else
We need direct action! No virtual environment! Ain't Nobody Got Time for That!
/home/ob/.virtualenvs/tmp/bin/python
_______________________________ summary _______________________________________
something-else: commands succeeded
congratulations :)
So everything would be executed (and also installed) directly in that environment.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.