@BrodieOnLinux I recommend pipenv (installed with pipx) to manage per-project virtual environments and requirements file (pipfile & lock). If you add asdf or pyenv to the mix, then pipenv can control the python version for each virtual environment as well.