Last Call

AI on duty

Get the digest

Runtime · archived

Python

Python 2.7 reached end-of-life

Departed
departure passed

left 1 Jan 2020

Official source Sunsetting Python 2 — python.org ↗ (python.org)

Quick answers

Is it true that Python 2 end-of-life?
Yes — and the date has already passed (1 Jan 2020). No more bug fixes, security patches, or improvements to Python 2 from the core team.
When did it take effect?
1 Jan 2020 (already passed). Verified against the vendor's own announcement.
What should I use instead?
Move to Python 3.

What this means for you

No more bug fixes, security patches, or improvements to Python 2 from the core team. Anything still on 2.7 runs unmaintained; new CVEs will not be fixed upstream.

Where to go

Move to Python 3. The 2to3 tool and the compatibility notes in the porting guide cover most mechanical changes; the harder work is usually str/bytes handling and dependencies that dropped 2.x support.

  • Python 3.x (the supported line)

The Python core team set 1 January 2020 as the hard stop after more than a decade of warnings and one extension. It is the canonical example of a well-run sunset: a fixed date, announced far in advance, held firm — which is exactly why so much tooling finally moved.

Entry changelog

  • — last reviewed.
  • — Entry created (historical reference).

Related on the calendar

Put this countdown in your README

Building on Python? Drop this badge into a project’s README or docs — it shows the days left and refreshes on its own every night from this page. Last Call countdown for Python 2.7 reached end-of-life

[![Last Call countdown](https://lastcall.dev/badge/python-2-eol.svg)](https://lastcall.dev/entries/python-2-eol)

Spot an error or a changed date? Tell us and it’s corrected the same night.