5 ms·
Because libraries also change, for the same reason as python changes: To keep up with compatibility of newer devices, systems, and usage patterns. Beside, "fig
by scrollaway 2y ago
Because libraries also change, for the same reason as python changes: To keep up with compatibility of newer devices, systems, and usage patterns.
Beside, "figure out which ones work" is a solved issue with a package manager such as poetry.
- rowanG077 2y agoThat is if all libraries were super stringent in their dependency bounds. Which in my experience no one is. So it's a crapshoot if it will work or not.
- SOLAR_FIELDS 2y agoThis is more of an indictment on how bad Python is about mixing system level packages with library dependencies than anything else. The classic example I always give is psycopg2 depending on a system install of Postgres client library.
- imtringued 2y agoThe irritating thing about python is that since it is mostly glue around C, all the annoying things about C leak through.
- wakawaka28 2y agoIt's not a solved issue, as others have pointed out. To elaborate, most packages are not maintained continuously. Some don't get updates anymore and some get updates that break older versions of Python. The authors of these libraries definitely aren't rooting out all the problems that can occur due to mismatched versions. And when you change one library, any other related library can be affected. It's like solving a puzzle sometimes. In many cases people throw up their hands and say "forget this, I'm not upgrading anything!" This is also the big driver of solutions like virtualenv and Docker. All languages have this issue to some extent but Python breaks stuff more often than anything else I use. I don't especially like language-specific package downloaders either but that's not a Python-only problem, and there are tradeoffs to pushing the work downstream into more stable systems.