We've done something remotely like this in PDK. Our acceptance test framework runs each test in a freshly installed sandbox. The sandbox is a temporary directory and the process running in the sandbox has PATH and PYTHONPATH set.
Our system is written in bash. Bash has been a nice choice for us as our application is command line based. What better test environment than the shell? The framework is just a quick hack that I knocked out. It has been expanded to run tests in parallel, have pretty green/read pass/fail indicators, etc.
The best thing I did was _not_ log output from the tests by default. Because of that debugging is often as simple as placing a sh invocation in the middle of a test. That gives you an interactive shell in the sandbox at the requested point. This is so convenient that I don't run pdk from my development directory. I virtually always invoke it from an acceptance test sandbox.