What's the benefit of using pyenv? I've been using `python -m venv .venv` to create virtualenv within the project directory for a while now, and VS Code recognize the .venv directory as python virtualenv and apply it to the workspace automatically. So far it's been quite painless for me.
Pyenv is for installing and managing python versions on a machine. I don't think it makes sense to compare to virtualenv as that doesn't install python only copies it from the system into the current directory. You could use both tools.
If you want to use different versions of Python itself, without installing them as different named binaries or using shell aliasing, etc. Helpful to install Python 2.7, Python 3.x, 3.y, etc. and invoke each as simply `python ...`.
They serve a different purpose. Pyenv enables you to maintain several Python versions. You can that use the venv module of each respective Python to create a virtual environment with a Python at a given version.
I see, I think I confuse it with pyenv-virtualenv. I never need to use multiple versions of python so I never try it so far. I always install the latest version globally and use python 3 docker image as the base deployment image.
If you have multiple projects, it may be undesirable that you're forced to have them all on the same Python version. Of course it helps that Python has fairly good backward compatibility, and even using a newer version to develop and test than the one you'll deploy with is not the end of the world, but pyenv is easy enough that I see no reason not to do it properly.