pip and venv. The Python ecosystem has taken a huge step backwards with the preachy attitude that you have to do everything in a venv. Not when I want to have installable utility scripts usable from all my shells at any time or location.
I get that installing to the site-packages is a security vulnerability. Installing to my home directory is not, so why can't that be the happy path by default? Debian used to make this easy with the dist-packages split leaving site-packages as a safe sandbox but they caved.
> Not when I want to have installable utility scripts usable from all my shells at any time or location.
Can't you just have the thing on your PATH be a wrapper that invokes the tool via its venv?
For years, pipx did almost all the work that I needed it to do for safely running utility scripts.
uv has replaced that for me, and has replaced most other tools that I used with the (tiny amount of) Python that I write for production.
Regarding why not your home directory: which version of Foo do you install, the one that Project A needs or the incompatible one that Project B needs?
The brilliant part about venvs is that A and B can have their completely separate mutually incompatible environments.