Python-Implementierung PyPy 7.2 integriert Python 3.6

Die alternative Python-Implementierung bietet neben der Unterstützung für Python 3.6 eine Anbindung an AArch64.

In Pocket speichern vorlesen Druckansicht 21 Kommentare lesen
PyPy 7.2 bietet volle Integration von Python 3.6
Lesezeit: 3 Min.
Von
  • Rainald Menge-Sonnentag
Inhaltsverzeichnis

Das Team hinter PyPy hat Version 7.2 der Python-Implementierung veröffentlicht. Mit dem aktuellen Release verlässt die Unterstützung für Python 3.6 die Betaphase. Die CPython-Alternative bringt zudem eine überarbeitete Version des CFFI-Backends (C Foreign Function Interface) mit. Bei den Zielplattformen ist die 64-Bit-Architektur für ARM hinzugekommen. Die Umsetzung von AArch64 erfolgte in Zusammenarbeit mit ARM Holding und dem deutschen Start-up Crossbar.io.

Dass die Veröffentlichung des aktuellen PyPy-Release auf denselben Tag wie die Freigabe von Python 3.8 fällt, mag Zufall sein. PyPy-Nutzer dürften sich derweil wenig daran stören, dass die Sprachfeatures damit genau zwei Punkt-Releases hinterherhinken: Mit PyPy 7.2 hat die Unterstützung für Python 3.6 erfolgreich die Betaphase beendet. Das im Februar veröffentlichte PyPy 7.0 brachte erstmals eine Anbindung an Python 3.6, die seinerzeit noch als experimentell galt.

Ansonsten halten sich die Neuerungen wie bei den meisten Punkt-Releases von PyPy in Grenzen. Nennenswert sind einige Ergänzungen beim CFFI-Backend, das nun in Version 1.13.0 eingebunden ist. Das Team empfiehlt, CFFI statt eigener C-API-Extensions für den Zugriff auf C-Code zu verwenden. Für Python 2.7 findet sich zudem ein Backport des CFFI-baiserten _ssl-Moduls im aktuellen Release.

Außerdem haben die Entwickler die Module _hashlib und crypt beziehungsweise _crypt nach CFFI umgewandelt. Darüber hinaus hat PyPy 7.2 einen neuen JSON-Parser an Bord, der wohl besonders für das Zusammenspiel mit Just-in-Time-Kompilierung (JIT) optimiert ist.

PyPy ist eine CPython-Alternative, die vor allem auf eine erhöhte Performance und geringeren Speicherbedarf abzielt. Die Implementierung ist ein JIT-Compiler, während die Python-Referenzimplementierung CPython den Code zur Laufzeit interpretiert. Die Entwickler von PyPy setzen auf bestmögliche Kompatibilität, allerdings arbeitet die Implementierung nicht mit allen Librarys zusammen.

Entwickelt ist PyPy ist im Gegensatz zu CPython in Python beziehungsweise in dem Subset RPython, das eine statische Analyse ermöglicht. Damit sind ein paar Einschränkungen verbunden, die in der Beschreibung der RPython-Sprache zusammengefasst sind.

Wie üblich ist das Release vollständig rückwärtskompatibel mit früheren PyPy-Versionen. Das Release bringt zwei Interpreter mit: PyPy2.7 zielt auf Python 2.7 bis zum Unterrelease 2.7.13 mit der zugehörigen Standard-Library, und PyPy3.6 unterstützt die Syntax und Features von Python 3.6 und der Standardbibliothek bis Version 3.6.9.

Weitere Details zur Version 7.2 lassen sich dem PyPy-Blog entnehmen. Die Releases von PyPy 7.2 für Python 2.7 beziehungsweise Python 3.6 finden sich auf der Download-Seite. Das frische Sandboxing-Projekt befindet sich derweil noch in einer frühen Testphase. Es startet PyPy in einer vollständig isolierten Umgebung, um beliebige, nicht vertrauenswürdige Python-Anwendungen in einem abgesicherten Modus auszuführen. (rme)