Situation: Der Python 2.7-Support wurde seit 2020 eingestellt

Python 2.7 wird ab dem 1. Januar nicht mehr unterstützt. Viele Unternehmen haben jedoch noch nicht auf die aktualisierte Version umgestellt. Im Material diskutieren wir die Gründe für diese Situation.


Fotos - Jan Kopřiva - Unsplash

Nicht jeder ist bereit für die neue "Python"


Im Jahr 2020 wird Python 2.7 eingestellt und Sicherheitsupdates werden ausgesetzt . Obwohl diese Pläne vor fünf Jahren bekannt wurden - im Jahr 2014 ermutigte Guido van Rossum, der Autor von Python, Entwickler und Unternehmen persönlich, auf Python 3 umzusteigen - ist der Anpassungsprozess der neuen Version langsam.

Zu Beginn des Jahres waren etwa 60% der aus The Python Package Index (PyPI) heruntergeladenen Pakete Version 2.7. Bis September ging diese Zahl auf 40% zurück, wird aber höchstwahrscheinlich nicht vor Ablauf der Frist auf Null sinken.

Was hemmt die Migration


In großen Unternehmen erfordert die Einführung eines neuen Frameworks oder der Übergang zu einer aktualisierten Technologie immer erhebliche Ressourcen und Zeit. In einigen Fällen dauert der Prozess Monate und sogar Jahre. Dies ist auf die massive Codebasis und eine Vielzahl von Abhängigkeiten zurückzuführen. Facebook begann im Jahr 2014 damit, die Dienste des Unternehmens auf Python 3 zu übertragen. Die Umsetzung dieses Projekts dauerte ein Jahr - ich musste eine beträchtliche Anzahl von Bibliotheken umschreiben und Tausende von Regressionen korrigieren. Danach griffen die Ingenieure des Unternehmens Instagram auf - in diesem Fall dauerte die Umstellung zehn Monate. Dropbox wird seit drei Jahren auf Python 3 migriert.

Einige Unternehmen haben strenge Regeln für die Aushandlung wichtiger Technologieupdates mit dem Sicherheitsteam. Manchmal regelt dieses Gerät sogar das Laden von PIP-Paketen. "Sicherheit" befürchtet, dass beim Wechsel zu Python 3 kritische Sicherheitslücken in den Diensten auftreten. In der Tat können in Bereichen wie dem Bankwesen und dem Gesundheitswesen die Fehlerkosten hoch sein. Letztes Jahr stieß die britische TSB bei der Einführung eines neuen IT-Systems auf einen Fehler, der zu einer Fehlfunktion des Mobile-Banking-Systems führte. Infolgedessen verloren 1,9 Millionen Menschen den Zugang zu ihren Konten. Die Organisation beschäftigt sich immer noch mit den Konsequenzen.

Unter anderem unterstützt Python 2 weiterhin führende Linux-basierte Betriebssysteme. In RHEL können Benutzer beispielsweise auswählen, mit welcher Version sie arbeiten möchten. Obwohl das Red Hat-Betriebssystem allmählich auf Python 3 migriert, verläuft dieser Prozess nicht so reibungslos, wie wir es uns wünschen. Dabei werden regelmäßig Fehler gefunden, die hauptsächlich auf die Funktionsweise von Zeigern zurückzuführen sind. Debian behält auch die Unterstützung für Python 2 bei, aber das Upgrade hat bereits begonnen . Es bewegt sich auch langsam - Ingenieure testen ständig Bibliotheken auf Kompatibilität.

Selbst nach der vollständigen Umstellung auf Python 3 werden viele weiterhin mit der vorherigen Version arbeiten, da einige Pakete von Unternehmen und Community-Enthusiasten unterstützt werden.

Was die Community denkt


Hacker News-Befragte im Themen-Thread stellen fest, dass der Hauptgrund für die langsame Migration das Fehlen (bis vor kurzem) konkreter Vorteile dieses Prozesses ist. Es gab keine neuen Funktionen in der Sprache, die Entwickler interessieren und dazu bringen könnten, auf Python 3 umzusteigen. Gleichzeitig haben einige von den Autoren der Sprache getroffene Entscheidungen den Eindruck der Programmierung auf Python 3 beeinträchtigt. Insbesondere der Ausschluss der Unterstützung von Byte-Strings und der Übergang zur exklusiven Arbeit mit Unicode haben zu einer großen Unzufriedenheit geführt. Stack Overflow stellte außerdem fest, dass das Python-Ökosystem keine integrierten Tools zum automatischen Übersetzen von Code von einer Version in eine andere hatte. Das Problem wurde mit dem Aufkommen von Dienstprogrammen wie 2to3 und 6 gelöst.


Fotos - Hitesh Choudhary - Unsplash

Die Funktionalität von Python 3 wurde in den letzten Jahren erheblich erweitert . Matrixmultiplikation, Asyncio-Modul zur Organisation von Konkurrenzprogrammen sowie Anmerkungen zu Variablentypen, Klassenfeldern, Argumenten und Rückgabewerten von Funktionen hinzugefügt. Python 3-Unterstützung wurde sogar für andere beliebte Bibliotheken, wie z. B. Scikit-Learn für ML, eingeführt. Der aktualisierte Funktionsumfang sollte Unternehmen davon überzeugen, zur nächsten Version der Sprache zu wechseln. Und während die Anzahl der Python 3-Teilnehmer im nächsten Jahr erheblich zunehmen wird, wird ein vollständiger Übergang eine beträchtliche Menge an Zeit in Anspruch nehmen.


Wir bei 1cloud.ru bieten einen DNS-Hosting-Service an . Registrierte Benutzer erhalten es kostenlos.

Alle Fragen im Zusammenhang mit dem Betrieb des Dienstes werden von Spezialisten aus unserem Kompetenzzentrum beantwortet .


Zusätzliche Lektüre im 1cloud Blog:

Spart die Cloud Ultra-Budget-Smartphones?
"Wie wir IaaS bauen": 1cloud materials

Kontrolle elektronischer Geräte an der Grenze - Notwendigkeit oder Verletzung der Menschenrechte?
Dies ist die Wende: Warum Apple die Anforderungen für Anwendungsentwickler geändert hat


Source: https://habr.com/ru/post/de477944/


All Articles