Python's problem has been that the community has been too tolerant of solutions that are 90% correct, confusing that with "has 90% of the features somebody might want". There's nothing more time-consuming and expensive than working with code that is incorrect... I mean, the value of a sort routine that works 90% of the time is not 90% of the value of one that works all the time, but 0%. To save 15 minutes of thinking, some people will spend 15 years pushing a bubble around under a rug.
A lot of people are really disgusted with Python because of these kind of problems, in fact the place where we were struggling with Python builds didn't share my faith that the problems could be solved and gave up on the project.
Like this quote
https://www.npr.org/sections/itsallpolitics/2013/10/28/24129...
however, Python really does do the right thing in the end and I'm quite excited that pypi is now publishing the dependency lists separate from the rest of the wheel because that's a key item for a correct solver because you really want all of that info to make the right decision. Back in the Datalogue era I had found that you can fake this because wheels are really ZIP files and you can read a file inside a ZIP file with at most three partial http requests. Similarly you really have to stamp out eggs because you can't know what they depend on without running the setup.py.
Given that the foundational changes have been made it is just a matter of time before we see a package solver for Python that is 100% correct like the solver for Maven.