I'm not talking about using the "system python" I'm talking about how Python ideologically believes it's running as system python always.
Node loads packages from a subfolder within the project, Python loads packages from somewhere else in the operating system regardless of project so we have an entire ecosystem of wrappers to deal with the nightmare of that ideological choice that Node, Rust, etc just don't need to be usable.
When dealing with the system Python you should always use the system package manager. That extends to Macs for both brew and MacPorts.