The asdf Python plugin uses python-build, the same back-end that pyenv uses. So the tools are very similar. I prefer asdf to the collection of programs you mentioned because with asdf you get a unified CLI syntax for adding/updating plugins and installing/removing versions. I like being able to use the same toolchain and UI to manage different versions of Python, Node.js, Ruby, etc. Check out the list of asdf plugins [1] — it's quite impressive.