I'd argue the other extreme is less sane. Pip installs everything system wide and you can't have different versions of the same package without venv.
Even early NPM was much much better than the pre-uv Python situation. (TBH even with uv it still feels hacky at times.)
It’s telling that in Python there have been multiple package managers over the years to fix the broken status quo. Typescript/Javascript notwithstanding, in other languages and environments you get the one tool that’s been there for over a decade without competitors.
Very few languages have suffered from the same package manager issues as JS/TS and Python.
Also, gulp / grunt weren't package managers.
These aren't the only two options.
This
> Pip installs everything system wide
does not inherently mean
> you can't have different versions of the same package
For non-inert packages, such as applications installed via the language's dependency manager, that's a different use case and should be handled differently.