Something like this has been (re-)implemented many times over, but it would be useful to support some kind of environment context switch (since python virtualenv activation is just that, in essence).
Consider integrating with existing solutions, or think of a way to elegantly extend envie to support broader env context switch.