There’s no solution. You gotta have a separate environment (e.g. a docker container) for each project. Each env has its own python version and requirements.txt
Python is putting its fingers in its ears singing "LALALALA USE A VENV" instead of fixing the damn ecosystem. Node and npm proved that a solution exists and it's doable.
https://peps.python.org/pep-0582/
Unfortunately the PEP is from 2018 and is still being discussed. The last post in the comment thread is from February.
https://discuss.python.org/t/pep-582-python-local-packages-d...
That's unfortunate; until I went looking for citations I thought it was further along and actually scheduled for the next Python release.
Looks like there is a pip-alternative that implements the PEP, but I haven't played around with it yet.