23.01.20 17:20, Victor Stinner пише:
Incompatible changes which require "if <python3>: (...) else: (...)"
or "try: <python3 code> except (...): <python2 code>":
* Removed tostring/fromstring methods in array.array and base64 modules
* Removed collections aliases to ABC classes
* Removed fractions.gcd() function (which is similar to math.gcd())
* Remove "U" mode of open(): having to use io.open() just for Python 2
makes the code uglier
* Removed old plistlib API: 2.7 doesn't have the new API
You had years to fix deprecation warnings in your code. And many
projects did this long ago. If revert these removals in 3.9 because they
break existing code we will have the same problem with removing them in
3.10, 13.11, etc.
I consider breaking unmaintained code is an additional benefit of
removing deprecated features. For example pycrypto was unmaintained and
insecure for 6 years, but has 4 million downloads per month. It will not
work in 3.9 because of removing time.clock. Other example is nose,
unmaintained for 5 years, and superseded by nose2.
_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at
https://mail.python.org/archives/list/python-dev@python.org/message/DDVY3DG5NSFIW72EHXNFGH7J4ZXHY7HX/
Code of Conduct: http://python.org/psf/codeofconduct/