Each environment can have its own version of python which downloads with everything else (venv would require separate system installs for this).
Today, I manage python via pyenv (local and global state) that let's me create infinite .venvs with different python versions.