Honestly for python just using uv is enough, not only does it handle virtualenv for you, it will also install the necessary python version you need locally.
That’s entirely a user package manager though and is GPs point: what uv does cannot be done in a package manager like apt which sees itself as only doing system package management.