Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Why did Python break imports in 3.10?
1 point by BoorishBears on May 7, 2023 | hide | past | favorite | 3 comments
A change was made which requires changing an import path in some cases: From "collections" to "collections.abc"

From the outside in, it's amazing to me that such a decision would actually pass muster and ship:

- The amount of human productivity wasted by people trying to find why major packages broke. There are still thousands of unfixed references on Github a year and a half later

- The effect it will have on adoption of future versions as people are stuck on packages that aren't updated: the most common fix mentioned is to simply downgrade your Python version

- Python doesn't acknowledge that there's such a known cause for this specific import error

- The fact fixes requires changing code, afaik there's no sort of backwards compat flag or something.

It just seems like incredibly short-sighted engineering. There was a deprecation warning, but isn't this an ideological change at most? Was there some greater benefit I'm missing?

I'd love for people more involved in the ecosystem to share their thoughts on this.




Changed in 3.3 and backwards compatible until 3.8 as I recall. Unless there is some specific 3.10 issue I am not aware of.

See also: https://stackoverflow.com/questions/53978542/how-to-use-coll...


Ah so it's actually been 4 years, so it's probably 8 thousand repos that will stay broken. Un-updated things break, but this seems like a real shame of a reason.

I got the fix long ago, but the simplicity of fixing it is why it seemed to be a ideological change as opposed to anything technical: the import still works exactly as it did, the path just changed right?


https://www.python.org/community/ would list communities more practical for this question.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: