Skip to content

(WIP) Python 2 sunsetting info/summary page #1500

@brainwane

Description

@brainwane

Per my current engagement with the PSF, I'm writing a short FAQ about the Python 2 end of life. This will be a "one-page" (so, <750 words) FAQ-style document that we'll be prominently linking to on the python.org front page (#1498), and which will point to more detailed resources elsewhere. Our press release will point to this summary page.

I'm going to use this issue as a bit of a drafting space where I fill in an introduction and answers to the questions:


We are volunteers who make and take care of the Python programming language. We have decided that January 1, 2020, will be the day that we sunset Python 2. That means that we will not improve it anymore after that day, even if someone finds a security problem in it. You should upgrade to Python 3 as soon as you can.

Why are you doing this?

We need to sunset Python 2 so we can help Python users.

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.

And if many people keep using Python 2, then that makes it hard for the volunteers who use Python to make free software. https://python3statement.org/#sections50-why They can't use the good new things in Python 3 to improve the tools they make.

We did not want to hurt the people using Python 2. So, in 2008, we announced that we would sunset Python 2 in 2015, and asked people to upgrade before then. Some did, but many did not. So, in 2014, we extended that sunset till 2020.

How long is it till the sunset date?

https://pythonclock.org/ will tell you.

What will happen if I do not upgrade by January 1st, 2020?

If people find catastrophic security problems in Python 2, or in software written in Python 2, then volunteers will not help you. If you need help with Python 2 software, then volunteers will not help you. You will lose chances to use good tools because they will only run on Python 3 http://py3readiness.org/ , and you will slow down people who depend on you and work with you.

Some of these problems will start on January 1. Other problems will grow over time.

I wrote code in Python 2. How should I port it to Python 3?

Please read the official "Porting Python 2 Code to Python 3" guide https://docs.python.org/3/howto/pyporting.html . Please also read the Python 3 Statement Practicalities https://python3statement.org/practicalities/ for advice on sunsetting your Python 2 code.

I'm not sure whether I depend on any software written in Python 2. What should I do?

If you buy software or software support from vendors, ask them. If you pay developers or system administrators, ask them. If you don't have vendors or technical staff, then use https://pypi.org/project/caniusepython3/ to find out whether you depend on any software written in Python 2.

To find out more about whether specific tools can work with Python 3, look at https://pyreadiness.org/2.7/ , https://python3statement.org/ , and http://py3readiness.org/ .

I depend on some software written in Python 2. What should I do?

If you buy software or software support from vendors, ask them. If you pay developers or system administrators, ask them. If you don't have vendors or technical staff, then use https://pypi.org/project/caniusepython3/ to find out which tools you need to upgrade to Python 3.

Is there anyone who can help me?

Yes. If you can pay for extended support, talk to ActiveState https://mail.python.org/archives/list/python-announce-list@python.org/message/FC4QUAACIZPHYJMNZCRYJAGJIFYOM4CA/ . If you can pay to hire someone to help you, post on the job board https://www.python.org/jobs/ or hire a consultant https://wiki.python.org/moin/PythonConsulting . If you need free help from volunteers, look at https://www.python.org/about/help/ .

I didn't hear anything about this till just now. Where did you announce it?

We talked about it at software conferences, on the Python announcement mailing list, on official Python blogs, in textbooks and technical articles, on social media, and to companies that sell Python support.

How can I make sure announcements like this don't surprise me again?

Buy Python support from a vendor, or subscribe to the Python announcement mailing list https://mail.python.org/mailman3/lists/python-announce-list.python.org/ .

[insert list of links to more details here]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions