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:
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¶
PyPy ist in den offiziellen Paketquellen enthalten - allerdings nur für Python 2.7, nicht für Python 3.x. Das Paket kann wie folgt installiert werden[1]:
pypy (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install pypy
Oder mit apturl installieren, Link: apt://pypy
Die Version aus dem Paketquellen ist aber nicht die aktuellste Version. Dies bietet in der Regel aber eine bessere Kompatibilität mit der Referenzimplementierung.
manuell¶
Wer PyPy in einer aktuellen Version benötigt bzw. PyPy für Python 3 Code nutzen möchte, der kann PyPy manuell installieren.
Dazu reicht es, wenn man von der Downloadseite des Projekts 🇬🇧 die gepackte Datei für Python 3.x oder Python 2.7 und die passenden Prozessorarchitektur herunterlädt und dann in ein beliebiges Verzeichnis (wie z.B. das Homeverzeichnis oder opt) entpackt
Nutzung¶
PyPy wird genau wie Python genutzt, nur das man ein Python-Skript nicht mit dem Befehl python3
bzw. python
für Python 2.7 aufruft, sondern pypy3
bzw. pypy
nutzt. Wenn PyPy manuell installiert wurde, muss man gegebenenfalls noch den Pfad zur Installation mit angeben.
So würde z.B. der Befehl[2]:
/home/BENUTZER/pypy3_install/bin/pypy3 mein_skript.py
das Skript mein_skript.py mit PyPy für Python 3.x starten, welches manuell im Verzeichnis /home/BENUTZER/pypy3_install/bin/ installiert ist.
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 #für Python 3.x pypy --help #für Python 2.7
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. Weitere Details sind auf der Kompatibilitätsseite 🇬🇧 des PyPy Wikis zu finden.
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.
Links¶
technische Unterschiede 🇬🇧 von PyPy und CPython
englische Wikipedia Seite zu PyPy, welcher unter anderem weitere technische Details und Informationen zur Geschichte von PyPy enthält