Original https://brandonrozek.com/blog/pyenvtox/
Brandon Rozek February 21, 2020
Pyenv is great for managing multiple python installations and tox is great for creating virtual environments for testing. What if we can combine the two? For more detailed information visit Frank-Mich’s Blog.
First make sure pyenv is installed. In the directory with your setup.py tell pyenv which python versions you want to consider.
pyenv local 3.6.0 3.7.0 3.8.0Frank warns heavily not to specify multiple python versions with the same major.minor numbering. For example, 3.6.0 and 3.6.10 should not be included together.
Then install the tox package.
pip install toxI made the mistake of making a virtual environment and then installing tox. That gets rid of the python version information we specified before.
Now specify a tox.ini with a structure similar to below..
[tox]
envlist =
py36
py37
py38
[testenv]
commands =
python3 -m unittest discover tests