Zum Hauptinhalt Zur Navigation Zur Suche

Python 3.x: Finale Version 3.2 veröffentlicht

Python-Entwickler haben mit Version 3.2 einen weiteren Schritt zur Stabilisierung der 3.x-Serie der Skriptsprache getan. Auf neue Funktionen haben die Entwickler weitgehend verzichtet, stattdessen soll die Akzeptanz der Version 3.x erhöht werden.
/ Jörg Thoma
15 Kommentare Auf Google folgen (öffnet im neuen Fenster)

Bei Python 3.2 haben die Entwickler der Skriptsprache weiter an der Stabilität gearbeitet und sich vor allem den Funktionen gewidmet, die seit längerem in der Kritik der Entwicklergemeinde stehen. Ein Moratorium für neue Funktionen trat 2009 in Kraft, nachdem die ersten Versionen der 3.x-Serie nur zögerlich angenommen worden waren.

So wurde in Python 3.2 ein stabiles Application Binary Interface eingepflegt, das künftig nur selten verändert werden soll. Es soll dafür sorgen, dass bei künftigen Versionsupdates nicht mehr alle Erweiterungsmodule neu kompiliert werden müssen. Das gilt vor allem für den Einsatz der Skriptsprache unter Windows. Künftig können Erweiterungsmodule auf eine Sammlung von stabilen APIs zugreifen, die über mehrere Versionen hinweg stabil bleiben sollen. Ausgenommen sind allerdings Module, die auf interne Speicherstrukturen zugreifen.

Zusätzlich haben die Entwickler an dem Global Interpreter Lock (GIL) gearbeitet, der für die Anordnung gleichzeitig laufender Threads verantwortlich ist. Künftig wird nicht mehr nach einem geeigneten Zeitintervall gesucht, um zwischen Threads umzuschalten. Stattdessen wird die absolute Laufzeit eines Threads in Sekunden festgelegt. Der Parameter kann über sys.setswitchinterval() festgelegt werden. Der Standardwert liegt bei fünf Millisekunden. Reguläre und rekursive Locks können ein optionales Timeout-Argument in den entsprechenden Acquire-Methoden erhalten. Zudem können eingefrorene Python-Anwendungen über SIGINT beendet werden.

Darüber hinaus haben die Entwickler die Protokollierung so erweitert, dass sie auch im Json- und Yaml-Format abgespeichert werden kann. Das Logging-Modul ermöglicht die Konfiguration über frei definierbare Python-Dictionaries, etwa mit speziellen Formatierungen oder Filtern.

Die E-Mail-Funktion, die bereits in Version 3 eingeführt wurde, kann künftig mit elektronischer Post im Binärformat umgehen, statt lediglich mit einfachem Text. Zudem wurde das Multithreading so verbessert, dass Threads mit einer Barriere versehen werden können, um sicherzustellen, dass zunächst alle Threads abgearbeitet werden, die für den nächsten Prozess relevant sind.

Zusätzlich wurde das SSL-Modul um einen Container erweitert, in dem Protokolleinstellungen, private Schlüssel oder Zertifikate dauerhaft gespeichert werden können.

Die Entwickler haben alle wichtigen Änderungen in einer Changelog-Datei(öffnet im neuen Fenster) festgehalten. Der Quellcode des ersten Veröffentlichungskandidaten steht auf den Servern des Projekts zum Download zur Verfügung(öffnet im neuen Fenster).


Relevante Themen