Python 3.12.0 is to remove long-deprecated items
discuss.python.org
Python 3.12.0 is to remove long-deprecated items
1–10 of 257 posts
Re: Python 3.12.0 is to remove long-deprecated items
#2Re: Python 3.12.0 is to remove long-deprecated items
#3Breaking changes in Python releases are nothing new, that’s why none of my Python projects are using the latest version :shrug:
> In the unittest module, a number of long deprecated methods and classes were removed. (They had been deprecated since Python 3.1 or 3.2).
I doubt your projects are using 3.1 or 3.2 (or older, except perhaps 2.7, but then you wouldn't care that 3.12 was removing something deprecated vs 3.11 which has it)?
Re: Python 3.12.0 is to remove long-deprecated items
#4Re: Python 3.12.0 is to remove long-deprecated items
#5What is the relation between a new Python version and changes in modules?
Are some modules considered to be part of the language?
Re: Python 3.12.0 is to remove long-deprecated items
#6The changes seem to be in modules. What is the relation between a new Python version and changes in modules? Are some modules considered to be part of the language?
Re: Python 3.12.0 is to remove long-deprecated items
#7The changes seem to be in modules. What is the relation between a new Python version and changes in modules? Are some modules considered to be part of the language?
Re: Python 3.12.0 is to remove long-deprecated items
#8https://docs.python.org/dev/whatsnew/3.12.html For a lot more info on removals
> You can use https://github.com/isidentical/teyit to automatically modernise your unit tests.
I tried out teyit when it was a "Show HN" 10 months ago (at https://news.ycombinator.com/item?id=29948813 ).
It not only pointed out places where I was using a deprecated alias, but also fixed a few places where I was using the API poorly (using "assertTrue(a binop b)" instead of "assertBinOp(a, b)".
I recommend it.
Re: Python 3.12.0 is to remove long-deprecated items
#9The changes seem to be in modules. What is the relation between a new Python version and changes in modules? Are some modules considered to be part of the language?
As far as CPython is concerned, most of those modules are implemented in C, and therefore for practical purposes part of the interpreter itself.
> How can a language be released?
If we really want to be pedantic, a new version of the language spec can be released.
Translated to C++ terms, this is like if the ISO committee approved a change to the stl in the new standard.
Re: Python 3.12.0 is to remove long-deprecated items
#10Modules being removed [edit: in 3.13]: https://docs.python.org/dev/whatsnew/3.12.html#pending-remov...
Updating CGI scripts will be a bit fiddly: https://peps.python.org/pep-0594/#cgi