ubuntuusers.de

PyPy

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

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

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

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)

Paketliste zum Kopieren:

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.

Diese Revision wurde am 21. Oktober 2018 20:55 von noisefloor erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Programmierung, Python