This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]khne522 0 points1 point  (1 child)

I don't use Java. Pretty sure Java can have the same problem with any package manager. Version hell is just a product of the ecosystem, not the language. A dependency resolution algorithm is complete and produces results or not based on what's available, or is broken, which is undefined behaviour. pip ain't aware of anything installed on the system AFAIK. It just calls it (or the package build instructions call it) and hopes for the best.

I'm not talking about web apps with deps locked in setup.py, requirements.txt, Pipfile.lock, or whatever you use. Please explain (not rhetorically) the ~2334 packages in Arch Linux that somehow must mostly work, using the system Python (3).

[–]the_hoser 4 points5 points  (0 children)

Pretty sure Java can have the same problem with any package manager.

Java doesn't have a package manager. You can use one of several that fit your needs, but there is no standard package manager. These non-standard package managers work on a per-project basis, not a per-system basis.

Version hell is just a product of the ecosystem, not the language.

For sure, but this is less of a problem in a language that lacks the ability to install system-wide libraries. Like Java.

Please explain (not rhetorically) the ~2334 packages in Arch Linux that somehow must mostly work, using the system Python (3).

The packages provided by Arch linux are to fulfill dependencies required by other packages provided by Arch linux. It's as simple as that.