- cross-posted to:
- linux@lemmy.ml
- cross-posted to:
- linux@lemmy.ml
Discussing a breaking change in Python’s setuptools.
The really interesting part is in the discussion section… and it shows once more how incredibly well-designed the GNU Guix package manager is – which solves these problems very very well, for arbitrary languages and with a fast growing distribution of, by now, about 50,000 packages.
Uhg. This is probably one of the biggest reasons I hate python programs. It is very hard to keep things up to date and patched when the core language and tool just keep breaking thing. Tools based in python are the most annoying to have to maintain and upgrade from a sysadmin perspective.
Every few months I have to spend a few hours trying to figure out why one of our python based containers will no longer build or remember what commands are needed to upgrade it’s deps when each one seems to use a different dep manager and tooling. Don’t have anywhere near as many problems with tools written in any other popular language.
Historically, hyphens and underscores were treated as equivalent in the names of keys appearing in the file
This is why I strongly prefer underscores; never use hyphens if you can avoid it. Eventually the names will end up as variables in a programming language where you have to use underscores, and now you’ve got some stupid and confusing translation system to deal with.
Another example of this is CSS names in Javascript. Rust also made this mistake unfortunately.
This [key name in setup.cfg] has been deprecated in 2021.
I knew Python didn’t take backwards compatibility seriously after Python 3.12, but 4 years is a joke.