Moving from Python 2 to Python 3
- June 11, 2020
Python 2 has officially reached its end of life. The Python programming language team just announced Python 2.7.18, the last release of Python 2. Going forward, Python 2 will no longer receive updates, bug reports, fixes or changes.
The Python Software Foundation recommends those using Python 2 switch to Python 3 as soon as possible. Python 3 introduces new and improved capabilities that are not backwards compatible. Version 3 has been under active development since 2008. The latest version of Python 3 was version 3.8.2, which was a second maintenance release for Python 3.8. The team is currently working on Python 3.9, which is available as an early developer preview as of this month.
To learn more about the changes between Python 2 and Python 3, and how to successfully move to Python 3, SD Times talked to Jeff Rouse, vice president of product at ActiveState. Below is an edited version of the conversation. The full interview can be found on the SD Times weekly podcast: “What the Dev?”
SD Times: What does end of life for Python 2 mean for organizations?
Rouse: When Python 3 was introduced, Guido van Rossum and the core team decided that there were significant changes they wanted to make to the language that meant they were going to break backwards compatibility, and that is a very difficult call to make when you are designing a language. Design decisions you make a decade or two ago may not hold up in the light of new technology or where you want to take the language so ultimately with the introduction of Python 3, the community and core language maintainers spent the better part of a decade getting people to move off of Python 2 and onto Python 3 so that all the maintainers and everyone in the Python community that are supporting both versions can finally finish.
What the end of life means for Python 2.7 is there will be longer be any bug fixes, no improvements and probably most importantly no security updates into that language. That includes most of the community packages.