Can someone give like the 120 seconds elevator pitch to why you need any of this stuff? I know how to use pyenv, virtualenv, Poetry, autoenv, you name it. I just never have found any practical use for it. But what if you want to have multiple versions of the same package installed? I don't. If some project I work on requires tf 2.x-1.0 and I only have tf 2.x.0 then I just rm -rf ~/.local/lib/python3.x and reinstall the dependencies anew. Furthermore, most Python maintainers do a terrific job in keeping up with breaking api changes in their dependencies (which I'm very grateful for) so it's quite rare that I need to use a Python package that is not the current release.