Their docs don’t say that, they advertise exactly what the GP ran. Python needs to unfuck its ecosystem.
That being said, venv is the official solution, and it works fairly well. pipenv/pipx are some alternatives...but yeah.
What exactly is your system installation for if you aren't supposed to install anything to it? The package system should be able to attempt installing via venv or be able to block uncompatible packages with sane error messages.
$ docker run --rm -it python bash
[...]
root@211646f0fa99:/# which python
/usr/local/bin/python
root@211646f0fa99:/# python -m venv .venv
root@211646f0fa99:/# source .venv/bin/activate
(.venv) root@211646f0fa99:/# which python
/.venv/bin/python
(.venv) root@211646f0fa99:/# ls -l "$(which python)"
lrwxrwxrwx 1 root root 21 May 7 14:47 /.venv/bin/python -> /usr/local/bin/pythonNode.js is similar with npm.
Is there something like nvm but for Python?
Umm... who exactly makes sure the app runs correctly with the version of python installed by the system?
I, for one, aren't going to bump up a python version to run a single app in a virtual environment because some dev decided to use 'python nightly' to code against.