It’s mostly Debian-focused, but you should probably use venvs. They allow you to have different versions of Python packages for different applications. I especially like it when using it in combination with pythonz for applications that require a different version than the system Python.
I find they prevent the system Python from being a complete pile of anarchy.
Like others have said, the error tells you everything you need to know.
I haven’t used both.