PyPy

In der Liste der EU-Projekte unter cordis.lu ist der Link zu PyPy falsch. Die richtige Seite auf icadc.cordis.lu bietet folgende Informationen:

EU Projekt Acronym: PYPY

Das Thema des Projektes:

"PYPY: Researching a Highly Flexible and Modular Language Platform and Implementing it by Leveraging the Open Source Python Language and Community (PYPY)" d.h.

"PYPY: Erforschung einer höchst flexiblen und modularen Sprachplattform und Implementierung dieser durch Nutzung der Hebelwirkung der Open Source Programmiersprache Python und der Python Gemeinschaft (PYPY)"

Projekt-Details:

Projekt Reference:

004779

Start Datum:

2004-12-01

Dauer:

24 Monate

Projekt-Kosten:

2.33 Millionen Euro

Contract Type:

Specific Targeted Research Project

End-Datum:

2006-11-30

Projekt-Förderung:

1.35 Millionen Euro

Hauptziele

Das Projekt wird eine flexible, konfigurierbare und leistungsfähige Version von Python, einer populären Free/Open Source Programmiersprache erforschen und implementieren. Überwiegend anekdotisch, aber auch ein wenig empirisch begründet ist die Aussage, dass Python eine der am einfachsten zu erlernenden Programmiersprachen ist, in der gegebene Algorithmen am schnellsten geschrieben werden können. Die Projekt zielt darauf, die hochgradig produktive Programmiersprache auf einer breiteren Palette von Plattformen und Geräten zur Verfügung zu stellen. Dies wird dadurch erreicht, dass einfache Mittel zum Aufbau einer eigenen stark individualisierten Version der Sprache zur Verfügung gestellt werden.

Der Ansatz

Das Projekt erzielt seine Ziele hauptsächlich dadurch, dass es ausgezeichnete Forschungsergebnisse und die Stärken der Open Source Bewegung wirksam einsetzt. Insbesondere erforscht es und verfeinert das 'Sprint Driven Development', eine agile und schnell zum Ziel führende Entwicklungs-Methode die erstmals von Europäischen Python Entwicklungs-Gemeinschaften angewendet wurde. Sprints beschleunigen die bereits produktiven Entwicklungs-Prozesse, indem sie die Kommunikations-und Rückmeldungs-Zyklen intensivieren an denen Programmierer und Forscher beteiligt sind. Dieser Prozess einbezieht auch eine vorhandene gemeinnützige Organisation von Python-Unternehmen, um Kommerzielle Gemeinschaften in die Forschung und Implementierung einer einzigartigen Laufzeitumgebung einzubinden. Technisch gesehen wird das Projekt innovative Herangehensweisen an Sprachimplementationen verfeinern und implementieren, basierend auf Objekt-Räumen und abstrakter Interpretation.

Konkrete Ergebnisse

Die neue Version von Python wird sich zwar an die Semantik der gegenwärtigen Implementierung halten, aber gleichzeitig besser portierbar, einfacher anpassbar, effizienter und besser erweiterbar werden und dabei mehr Programmierungs-Paradigmen abdecken und dies in einer Art und Weise, die die Einfachheit der darunter liegenden Sprache berücksichtigt. Zusätzlich wird das Projekt existierende Open Source Entwicklungs-Modelle in der Python-Gemeinschaft dokumentieren und verfeinern. Obwohl prinzipiell Python bezogen, werden die meisten der Forschungsergebnisse auch auf andere höhere Programmiersprachen anwendbar.

PyPy Ausprobieren

Auf der Seite getting started (en) sind Anleitungen wie man PyPy testen kann. Hier die Schritte um ein virtualenv mit PyPy zu erstellen:

Als ersten benötigt man virtualenv v1.6.1 oder neuer (siehe Ausgabe von virtualenv --version):

# aktuelles virtualenv bekommen (über pip)
~$ wget https://github.com/pypa/pip/raw/master/contrib/get-pip.py
~$ sudo python get-pip.py
~$ sudo pip install --upgrade virtualenv
~$ sudo ln -s /usr/local/bin/ /usr/bin/virtualenv

Aktuelle nightly binary builds bekommt man unter: http://buildbot.pypy.org/nightly/trunk/ Hier ein Beispiel mit der 64Bit jit Variante:

# Aktuelle Version ziehen:
~$ wget http://buildbot.pypy.org/nightly/trunk/pypy-c-jit-latest-linux64.tar.bz2

# entpacken:
~$ tar xf pypy-c-jit-latest-linux64.tar.bz2

# virtuelenv mit PyPy erstellen (Platzhalter durch build-Nummer ersetzten):
~$ virtualenv -p pypy-c-jit-XXXXX-YYYYYYYYYYYY-linux64/bin/pypy pypy-env

# virtualenv activieren:
~$ cd pypy-env/bin
~/pypy-env/bin$ source activate

# Versionsinformationen vom PyPy Interpreter Anzeigen lassen:
(pypy-env)~/pypy-env/bin$ pypy --version
Python 2.7.1 (15798ab8cf48, Oct 05 2011, 02:04:09)
[PyPy 1.6.1-dev0 with GCC 4.4.3]

Nun kann man alles das machen, was man mit einem "normalen" virtualenv halt auch kann, nur mit PyPy statt mit CPython ;)

Tags: Pypy | Virtualenv

PyPy (zuletzt geändert am 2013-08-02 14:46:52 durch anonym)