PyPy

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. ⚓︎ Installation von Programmen

  2. ⚓︎ Ein Terminal öffnen

Inhaltsverzeichnis
  1. Installation
    1. aus den Paketquellen
    2. als snap
  2. Nutzung
    1. Einschränkungen
  3. Links

pypy-logo.png PyPy 🇬🇧 ist eine Implementierung der Programmiersprache Python, welche weitestgehend kompatibel zur Referenzimplementierung CPython ist.

Im Gegensatz zu CPython nutzt PyPy einen Just-in-Time Compiler, so dass der meiste Python-Code (deutlich) schneller ausgeführt wird. Weitere Information hierzu sind auf der Webseite 🇬🇧 von PyPy zu finden.

Installation

PyPy und das "normale" Python (also die CPython-Implementierung) können problemlos parallel installiert werden.

aus den Paketquellen

PyPy3 (also die Python3 Version) ist in den offiziellen Paketquellen enthalten. Das Paket kann wie folgt installiert werden[1]:

Befehl zum Installieren der Pakete:

sudo apt-get install pypy3 

Oder mit apturl installieren, Link: apt://pypy3

Die Version aus dem Paketquellen ist aber nicht unbedingt die aktuellste Version. Dies bietet in der Regel aber eine bessere Kompatibilität mit der Referenzimplementierung.

als snap

Die aktuelle Version von PyPy gibt es als snap, welches von den Entwicklern von PyPy selber bereit gestellt wird:

sudo snap install pypy3 --classic 

Hinweis!

Fremdsoftware kann das System gefährden.

Nutzung

PyPy wird genau wie Python genutzt, nur das man ein Python-Skript nicht mit dem Befehl python3 sondern mit pypy3:

So würde z.B. der Befehl[2]:

pypy3 mein_skript.py 

das Skript mein_skript.py mit PyPy für Python 3.x starten.

Ruft man PyPy ohne Angabe eines Skripts auf, gelangt man - ebenso wie bei CPython - zu einer interaktiven Python-Shell.

PyPy kennt eine ganze Reihe von Optionen, die man aber eher selten braucht. Die komplette Liste der Optionen erhält man beim Aufruf von

pypy3 --help 

Einschränkungen

Nutzt ein Python-Programm bzw. Modul eine in C geschriebene Erweiterung, die für CPython kompiliert wurde, dann funktioniert dieses eventuell nicht mit PyPy.

Viele (populäre) Pakete für CPython funktionieren aber problemlos mit PyPy, eine Liste ist auf einer Webseite bei PyPy 🇬🇧 zu finden. Eine Anleitung, wie man Pakete für PyPy via pip installiert, ist ebenfalls in der offiziellen Dokumentation 🇬🇧 zu finden.