Been doing something like this for a while with a single self contained .sh file that contains a python script:

https://github.com/thiswillbeyourgithub/envlocker