There is a lot of confusing information about virtual environments in python out there, in part because the tool chain has evolved over many years.
I decided to follow the advice of Real python and The hitchhiker's guide to python and manage both multiple python versions and multiple virtual environments with pyenv