Also check out https://github.com/npm/npm/issues/10999 This is just insane!
Check out yarn as well, some of it's practices are really awesome - getting inspiration from bundler and cargo.
This is as someone who doesn't use either of these languages that much. Even composer is better than pip IMO.
Probably like 90% of the python projects I've looked at have requirement-conflicts because pip doesn't even warn you about this.
Additionally, since each package gets its own `node_modules` directory, there's no need to worry about conflicting dependencies. Multiple versions of the same module can run in the same process with no interference.
[1] this is quite a large number of cases, but they are significant drawbacks.
I do sort of like node's ability to recursively nest dependencies to avoid dependency hell. Though that has it's downsides too.. you will never know what is in your modules dir.