But I couldn’t install a specific Python version? System python is 3.13 but I needed 3.10.
The others have covered virtual environments, which is what you need if you really want a 3.10 interpreter.
But… the thing I’m here to tell you is:
they recommend virtual box to not mess with your default installation of the program and the databases it uses.
for many projects this doesn’t actually matter. You can just ignore the warnings, use the most recent version and install whatever you need.
You’re already sandboxing this stuff in a virtual box, which you should be able to reset or bootstrap again when you need to. You’re not interfering with your actual systems’ python, you’re messing with your virtual box’s system python.
I find the whole venv stuff to be very annoying, I never need it, because I use libraries that don’t interfere with system operations and I don’t downgrade to interact with projects. And even if you’re not installing “correct” versions, most of the time newer versions fix bugs and expand functionality. It is extremely rare that functions get removed and it will actually break by you not using their exact version. Or like, version conflicts.
And besides, they would need some kind of CI / testing that would check for compatibility anyway.
tldr: ignore venvs, try it bare metal, see if something breaks. If not, there you go, if yes, you can still invest the time and effort of learning venvs.
The others have covered virtual environments, which is what you need if you really want a 3.10 interpreter.
But… the thing I’m here to tell you is:
for many projects this doesn’t actually matter. You can just ignore the warnings, use the most recent version and install whatever you need.
You’re already sandboxing this stuff in a virtual box, which you should be able to reset or bootstrap again when you need to. You’re not interfering with your actual systems’ python, you’re messing with your virtual box’s system python.
I find the whole venv stuff to be very annoying, I never need it, because I use libraries that don’t interfere with system operations and I don’t downgrade to interact with projects. And even if you’re not installing “correct” versions, most of the time newer versions fix bugs and expand functionality. It is extremely rare that functions get removed and it will actually break by you not using their exact version. Or like, version conflicts.
And besides, they would need some kind of CI / testing that would check for compatibility anyway.
tldr: ignore venvs, try it bare metal, see if something breaks. If not, there you go, if yes, you can still invest the time and effort of learning venvs.