The switch from Python 2 to Python 3 has been rocky and all signs point to Python 3 pulling firmly into the lead. Python 3 is broadly compatible with several libraries and there’s an encouraging rate of adoption by cloud providers for application support too as Python 2 reaches its EOL in 2020.
But there are still plenty of efforts to keep Python 2 alive in one form or another. The default implementation of Python is open source, so it can easily be forked and maintained separately. Currently all major open source Python packages support Python 3.x and Python 2.7. Last year Python team updated users that Python 2.7 maintenance will stop in 2020. Originally, there was no official date but in March 2018, the team announced the date to be January 1, 2020.
#Python 2 reaches End of Life status on Jan. 1, 2020. You may not have heard about that, or begun prepping for migration. @ChangesetLLC Consulting is working with the PSF to get the word out about the sunsetting:https://t.co/s5eesKFD98 https://t.co/DF1KRVmLJZ
— Python Software (@ThePSF) August 12, 2019
This means that the maintainers of Python 2 will stop supporting it even for security patches. There are many institutions and codebases who have not yet ported their code from Python 2 to Python 3. Hence, Python volunteers have created resources to help publicize and educate, but there’s still more work that needs to be done.
For which the Python Software Foundation has contracted with Changeset Consulting, to help communicate about the sunsetting of Python 2. The high-level goal for Changeset’s involvement is to help users through the end of the transition, help with communication so volunteers are not overwhelmed, and help update public-facing assets so core developers are not overwhelmed.
This will also require all the major Python projects to migrate to Python 3 and above. However, PyPy confirmed last week that they do not plan to deprecate Python 2.7 support as long as PyPy exists, according to the official Twitter statement.
There is no plan to deprecate the 2.7 version of PyPy, basically for as long as PyPy exists. RPython is based on Python 2, which is not really realistic to change, so we need PyPy2 to bootstrap. Documented here: https://t.co/SGmZpOqPbW https://t.co/m0VBPOMUoB
— The PyPy Project (@pypyproject) August 10, 2019
Apart from this, PyPy runtime is popular among developers due to its built-in JIT which provides major speed boosts to Python code. Pypy has long favored Python 2 over Python 3. This favoritism isn’t solely because the first versions of PyPy were Python 2 implementations and Python 3 has only recently entered the picture. It’s also due to a key part of PyPy’s ecosystem, RPython which is a dynamic language implementation framework has its foundation in Python 2.
This is not likely to change, according to PyPy’s official FAQ. The page states, “the Python 2 version of PyPy will be around ‘forever’, i.e. as long as PyPy itself is around.” According to Pypy’s official announcement it will support Python 3 while continuing to support Python 2.7 version.
Last year when Python rolled out the announcement that Python 2 will officially end in 2020, users on Hacker News discussed about the most popular packages being compatible with Python 3 while millions of people in the industry still work on Python 2.7. One of the users comments read, “most popular packages are now compatible with Python 3
I often see this but I think it’s a perception from the Internet/web world.
I work for CGI, all (I’m not kidding) our software (we have many) are 2.7. You will never see them used “on the web/Internet/forum/network” place but the day-to-day job of millions of people in the industry is 2.7.
And we are a tiny focused industry. So I’m sure there are many other industries like us which are 2.7 that you never heard of.
That’s why “most popular” mean nothing once you take how Python is used as a whole. We don’t use any of this web/Internet/network “popular” packages.
I’m not saying Python shouldn’t move on. I’m just trying to argue against this “most popular packages” while millions of us, even if you don’t know it, use none of those.