Microsoft ändert die Art und Weise, wie Python in Visual Studio gebündelt wird

Microsoft ändert die Art und Weise, wie Python in Visual Studio gebündelt wird

Die beliebte Microsoft Visual Studio Integrated Development Environment (IDE) wird von vielen Entwicklern auf der ganzen Welt verwendet. Das Unternehmen hat kürzlich Visual Studio 2022 veröffentlicht, das eine Reihe von Verbesserungen der Benutzeroberfläche für Windows und Mac, Leistungsverbesserungen und mehr bietet. Interessanterweise ändert der Technologieriese Redmond auch die Art und Weise, wie Python mit jeder Veröffentlichung der IDE gebündelt wird, was er in seinem jüngsten Blog-Beitrag detailliert beschrieben hat .

Traditionell zielt jede neue Version von Visual Studio auf eine bestimmte Version von Python ab. Visual Studio 2019 wird beispielsweise mit Python 3.7 geliefert, während Visual Studio 2022 standardmäßig Python 3.9 unterstützt. Die Veröffentlichungshäufigkeit von Python ist jedoch etwas schwierig, da jährlich neue Versionen veröffentlicht werden und Windows-Binärinstallationsprogramme normalerweise innerhalb von 18 Monaten nach der Veröffentlichung verfügbar sind. Dies bedeutet, dass im aktuellen Lebenszyklus, wenn Visual Studio 2022 18 Monate überschreitet, die Legacy-Python-Version (Python 3.9) zusammengeführt wird.

Microsoft hat seine Python-Bündelungsstrategie geändert, um dieses Problem zu beheben. Von nun an zielen neue Versionen von Visual Studio auf die neueste weit verbreitete Version von Python ab. Dies bedeutet im Wesentlichen, dass bei einer Aktualisierung von Visual Studio 2022 irgendwann in naher Zukunft neue IDE-Releases Python 3.10 oder neuer enthalten können, je nachdem, welche Version „weitgehend akzeptiert“ wird.

Ältere Versionen von Python-Workloads werden jedoch nicht aktualisiert, um neuere Versionen zu unterstützen. Microsoft wird diese veralteten Versionen von Python während der Visual Studio-Installation explizit als „Nicht unterstützt“ markieren, aber diese Installation weder entfernen noch neue Versionen hinzufügen.

Microsoft erläuterte seine Argumentation wie folgt:

  • Wir möchten ältere Versionen als „nicht unterstützt“ markieren, anstatt sie standardmäßig auszuwählen, um deutlich zu machen, dass diese Python-Versionen tatsächlich veraltet sind und Sicherheitslücken aufweisen können.
  • Gleichzeitig möchten wir sie nicht löschen, da sie möglicherweise noch von Kunden benötigt werden; Code wird häufig aktualisiert, um neue Versionen, wenn überhaupt, nur langsam zu unterstützen, und in vielen Fällen sind die möglicherweise bestehenden Sicherheitsprobleme Randfälle, die möglicherweise keine Rolle spielen. Kunden müssen die Risiken im Zusammenhang mit der weiteren Verwendung älterer Python-Versionen unabhängig bewerten.
  • Mit Ausnahme des Hinzufügens des Python 3.9-Installationsprogramms zu Visual Studio 2019 möchten wir keine Installationsprogramme für neue Versionen von Python hinzufügen, die möglicherweise nicht vollständig von der Python-Workload unterstützt werden. Sie können neuere Python-Versionen verwenden, um Ihren alten Code die meiste Zeit ohne Probleme auszuführen, aber wir möchten nicht den Eindruck erwecken, dass Änderungen an der Python-Sprache von älteren Versionen von Visual Studio vollständig unterstützt werden, wenn dies nicht der Fall ist.
  • In den meisten Fällen können Sie einfach eine neuere Version von Python von https://python.org oder aus dem Windows Store installieren und den vorhandenen Python-Code unverändert verwenden; die Anzahl der Breaking Changes zwischen Python-Versionen ist gering und in der Regel in extremen Fällen.

Visual Studio 2019 wird mit Python 3.9 geliefert, aber es wird nächstes Jahr als „Nicht unterstützt“ gekennzeichnet, wenn es das Ende seines Lebenszyklus erreicht. Microsoft betonte, dass diese Änderung der Verknüpfungsstrategie es einfacher machen wird, den Unterschied zwischen der weit verbreiteten Version von Python und dem Python Pylance-Sprachserver in Visual Studio in Einklang zu bringen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert