Programmiersprachen: Lang lebe Python 3 – finales Release von Python 2

Die Zweigleisigkeit hat nach 12 Jahren ein Ende: Python 2.x wird mit dem finalen Release 2.7.18 eingestellt, ab jetzt wird nur noch Python 3.x weitergeführt.

Lesezeit: 1 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 53 Beiträge
Von

Im Gegensatz zu den meisten Programmiersprachen unterstützte Python über fast zwölf Jahre hinweg zwei Hauptversionen und entwickelte diese unabhängig voneinander weiter – mit der Veröffentlichung von Python 2.7.18 endet nun eine Ära: Es ist das finale Release für Python 2 und markiert dessen Supportende, spätestens jetzt müssen Python-Entwickler die Migration zu Python 3.x vollziehen.

Bereits seit 2006 wird Python 3 entwickelt. Das Release 3.0 wurde 2008 offiziell veröffentlicht, und seither stand auch fest, dass es Python 2 eines Tages ersetzen würde, denn die 3.x-Reihe war inkompatibel zu Python 2.x.

Python 2.7 befand sich seit dem Release von Python 2.6 vor fast 12 Jahre in aktiver Entwicklung, die 2er-Entwicklungslinie wurde 20 Jahre lang gepflegt. Ursprünglich war das End of Life (EoL) für 2016 angesetzt, dann aber verschoben, da zahlreiche Projekte mehr Zeit für die Migration benötigten und Python 2.7 sich in der Community über das angepeilte Ende hinaus großer Beliebtheit erfreute. Neuentwicklung und Praxis drifteten weit auseinander, aus Linux-Distributionen ist Python 2.x schon seit längerem verschwunden.

Die Core-Entwickler und Contributoren von CPython dürften in der vergangenen Dekade der Parallelentwicklung zu Python 3.x eine Mammutaufgabe gestemmt haben. Große Änderungen wie die Rückportierung der Funktionen aus PEP 466 in das ssl-Modul und die Hash-Randomisierung fanden in der "Lebensmitte" der Zweierlinie statt und wären einem Zweig im Wartungsmodus nie hinzugefügt worden.

Die damals noch zahlreichen Python-2-Nutzer erhielten kontinuierlich Sicherheitsupdates. Die Arbeit von zwei Generationen Binär-Entwicklern steckt in Python 2.x. Der Ruf nach Python 2.8 wurde öfter laut und verhallte letztlich – nicht ungehört, aber von höchster Seite verworfen: "There will be no Python 2.8", befand der Schöpfer der Sprache Guido van Rossum. Seine historische Ankündigung von Python 3.0 findet sich auf den Seiten der Python-Foundation.

Eine Bestandsaufnahme mit praktischen Hinweisen zur Portierung bietet Rainer Grimms Artikel auf heise Developer. Mehr Hinweise zum End of Life von Python 2.x bietet die Mitteilung des Core-Teams, die Bekanntgabe des "nostalgischen Gedenk-Release" lässt sich in der Original-E-Mail des Release-Managers Benjamin Peterson an die Python-Developer-Mailingliste nachlesen.

Derzeit erhalten alle Versionen ab Python 3.5 aufwärts Support, die aktuellste Version ist Python 3.8. Die Inkompatibilitäten zwischen Python 2 und Python 3 beschreibt ein RIP-Tutorial. Zur Portierung gibt es eine ausführliche Anleitung in Form des "Conservative Python 3 Porting Guide". (sih)