Previously I was manually using a Makefile that looked something like this:
.PHONY: all
all: tests
.PHONY: tests
tests: py_env
bash -c \'source py_env/b
Determined to solve this, I've written a tox plugin to accomplish this: https://github.com/asottile/tox-pip-extensions
The plugin hooks into virtualenv creation and uses venv-update to keep dependencies in sync.
The usage is pretty straightforward:
tox-pip-extensions
alongside tox
(in my setup, I have a virtualenv at ~/venv
with tox
and tox-pip-extensions
installed, and then symlinked ~/venv/bin/tox
-> ~/bin/tox
)enable the extension as follows:
[tox]
tox_pip_extensions_ext_venv_update = true
# the rest of your tox.ini file as normal...