I tend to use things like pyenv or nvm; they keep python and node versions in environments local to your user, rather than the system.

`pip install x` then installs inside your pyenv and gives you a tool available in your shell

I used nvm a long time and was very happy to get rid of it and use `devbox` and similar tools instead.

The rule on my machine now is that everything has to be in a per-project sandbox, self-contained to ~/.local/bin or installed by the system package manager.

The question was about global tools, something nvm purposefully does not handle.

The `uv tool` answer by a sibling comment was great; it'd be nice to have something similar for npm.