4 ms·
And as we speak, I upgrade to 3.10 only to see my dependencies break and wonder if they have learnt anything at all.
by potamic 4y ago
And as we speak, I upgrade to 3.10 only to see my dependencies break and wonder if they have learnt anything at all.
- thomasahle 4y agoI don't think there are any breaking changes in Python 3.10? Sounds more like a package management issue.
- qwertox 4y agoDepending from which version you're upgrading from. I think there are breaking changes between 3.7 (or 3.8?) and 3.10 regarding the asyncio loop. I had (simple) servers cause exceptions because they used `loop` as a keyword argument which got removed without proper deprecation.
- jjluoma 4y agoAt least they removed something that had been deprecated ERROR: gcloud failed to load: module 'collections' has no attribute 'Mapping'
- EdwardDiego 4y agoThat was a 3.8 change I think? It moved from collections to collections.abc, IIRC.
- Beltalowda 4y agoIn the 3.9 release notes it says "Aliases to Abstract Base Classes in the collections module, like collections.Mapping alias to collections.abc.Mapping, are kept for one last release for backward compatibility. They will be removed from Python 3.10" but the 3.10 release notes don't really mention it. Apparently it's been emitting a DeprecationWarning since Python 3.3 (2012), but still... I like to have things "just work" even if I return to them after 5 or 10 years.
- EdwardDiego 4y agoOh definitely, I agree, it struck me as a rather unnecessary API change.
- EdwardDiego 4y agoMost of the issues I've found are C ABI issues with 3.10, but that usually just requires upgrading the dependency. 3.8 is a bigger C ABI roadblock than 3.10.
- boomanaiden154 4y agoThere were some breaking changes within Python 3.10, mostly esoteric features that didn't seem to be used that much. Lots of deprecation warnings though and some C API changes that did break at least one package I used. When I worked on patching/rebuilding all the Python packages for Alpine's upgrade to Python 3.10 I remember quite a few things being broken and needing patches (maybe about 5% of the overall packages), but a lot of those were also test failures due to the new deprecations, so while some stuff did truly break, it was pretty rare. [1] https://docs.python.org/3/whatsnew/3.10.html https://docs.python.org/3/whatsnew/3.10.html (see the removed section especially)