On January 1, 2020, the 2.x branch of the Python programming language will no longer be supported by its creators, the Python Software Foundation. This date will mark the culmination of a drama that has stretched on for years—the transition from an older, less capable, widely used version of Python to a newer, more powerful version that still trails its predecessor in adoption.
It’s high time. Python 3, with countless technical and end-user enhancements over Python 2, has never been in a better position to permanently displace Python 2. The vast majority of popular packages hosted in the PyPI repository, the first-stop shop for reusable Python code, support Python 3. Python 3 has become the default Python interpreter for many Linux distributions. And most every recent book, coding academy, and online tutorial recommends Python 3 for beginners.
Now the bad news. Python 2, like Windows 7 (or Windows XP!), will be with us for years to come. Many of us will continue to rely on apps written in Python 2. Some of us will even continue to use Python 2 for new apps, due to internal restrictions. What should you do if you’re stuck with Python 2 in what is fast becoming a Python 3 world? Let’s look at the options.
Python 2 end of life: What it means
The first and most important thing to understand about Python 2 going EOL (end of life): Python 2 applications will still run. Don’t think of this as a Millennium Bug issue, where Python 2 applications all magically grind to a halt on January 1, 2020. There just won’t be any more official support for Python 2 from the core Python development team.
Here is what the Python 2 EOL means in practical terms: