Python 2 finally reached end of life (EOL) at the start of 2020. Python 2 EOL means that version of the language will no longer receive any sort of updates, including security updates. 

“We need to sunset Python 2 so we can help Python users by improving Python faster,” the Python Software Foundation wrote on their website. “We released Python 2.0 in 2000. We realized a few years later that we needed to make big changes to improve Python. So in 2006, we started Python 3.0. Many people did not upgrade, and we did not want to hurt them. So, for many years, we have kept improving and publishing both Python 2 and Python 3. But this makes it hard to improve Python. There are improvements Python 2 can’t handle. And we have less time to work on making Python 3 better and faster.”

The Python Software Foundation had initially planned to sunset Python 2 in 2015, but pushed the EOL data back because many people still hadn’t upgraded in 2014. The day has finally come, however, where Python 2 has been sunsetted. ActiveState recently surveyed 1,250 developers to get a better understanding of how companies were preparing for EOL. 

Top unicorns herd to Python
Python 2 to sunset by 2020
A pledge to Python 3

Only 37% of respondents reported that more than half of their apps were built using Python 2. ActiveState believes that the fact that the other 63% had less than half of their apps in Python 2 is indicative of the fact that many organizations are already in the migration process to Python 3. 

Almost half (47%) of respondents stated that their company had a plan for dealing with the Python 2 EOL deadline. Thirty-one percent of respondents said their company had no plan and 22% of respondents weren’t sure of their company’s plan. “While awareness is high, it’s surprising to note that the majority of all respondents either have no detailed plan, or are unsure they have an extensive plan in place,” ActiveState wrote in the report.

The breakdown of how long organizations have been planning for Python 2 EOL is fairly evenly split between long-term planners (1+ years) and short-term planners (<1 year). Twenty-one percent have been planning for less than 6 months, 15% for 6-12 months, 18% for 1-2 years, and 18% for over 2 years. Non-planners made up 28.61% of respondents.

In addition, about half of respondents stated that they felt they were highly prepared for EOL. Twenty percent felt they were somewhat prepared and 31% are not prepared. “Given the dearth of planning indicated in the previous questions, it’s not surprising that 50% of respondents feel only somewhat or not prepared for Python 2 EOL,” ActiveState wrote. 

Moving forward, a majority of respondents (60%) are planning to or have already migrated their applications to Python 3. Of the remainder, 10% have no plan, 9% don’t know what the plan is, 7% plan to support Python 2 apps themselves, 5% plan to sunset their apps, 2% plan to rewrite in a different language, and 1% plan to purchase commercial support. 

Companies will face a lot of challenges when it comes to migrating to Python 3. The biggest challenge companies expect to face is finding replacement packages, with 54% of respondents being concerned about it. Other challenges include testing (40%), converting Python 2 to 3 (37%), supporting Python 2 apps (25%), learning Python 3 (20%), and managing customer expectations (18%).