I'm using tox to run unit tests and also build wheels and cx_Freeze-based stand-alone installers for windows. It creates a virtual environment for each configuration, and automatically re-creates them when it detects a change in the requirements.
It does come with a rather large overhead, though. The internal environment verification does take some time, which can be an order of magnitude higher than the actual test/command runtime.