Hacker News new | ask | show | jobs
by nerdponx 1502 days ago
Because a lot of projects, probably the great majority of projects, do not need this level of control.

If you need that level of control, use Spack or Nix or whatever.

Whenever threads like this come up, people have a weird tendency to hold Python on some kind of pedestal above other languages.

I can't think of a single language package manager or installer or version manager that makes even a faint attempt to control system level dependencies like a Fortran compiler. Why is Python somehow bad for failing to manage this? The problem is and should remain out of scope for any particular language tool chain.

2 comments

Yes, I agree on that, spack can lock everything except the kernel and libc.

I also don't think this is a failure of "python" as some others have raised that in the vincinity. Managing binaries is just out-of-scope and should be left to another tool - such as given with pyenv. It's solving this problem in a narrow way, which most commenters find confusing and I find a bit useless compared to alternatives!

The reason that Python gets held to this standard is because data science/analytics etc has lots of C and Fortran dependencies and this interacts terribly with the YOLO attitude of python dependency management tools (pip did not check for dependency compatibility until 2020, and it still doesn't keep your environment consistent.