I've stopped using any other virtual env managers than asdf[0]- it has one simple API for pretty much everything.
You can define a .tools-versions file in the root of your project, which lets you install the correct versions with a simple `asdf install`. We even use this in CI for zero-config language version upgrades.