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 - UnsplashNicht 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 - UnsplashDie 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