Tox includes a --force-dep option that can be used to provide version
restrictions for dependencies - however, by design this only works with
dependencies explicitly listed in the deps section of the tox.ini file
(see this issue for a
discussion of this).
The tox-pypi-filter plugin works around this by using a proxy PyPI server that filters packages in a way that is independent of tox's implementation.
To install:
pip install tox-pypi-filter
This plugin provides a --pypi-filter command-line option that takes
PEP440 version specifiers separated by
semicolons, e.g.:
tox --pypi-filter "numpy==1.14.*;pytest<4" -e py37-test
In this case, if Numpy or PyTest are needed by the tox environment, the versions that will be installed will satisfy the version specification supplied.
This plugin will not work properly if you use the -i/--index-url option
manually when calling tox. In addition, this will only work with pip-based
installs, and will not work with e.g. tox-conda.