Python für Symbian in der Version 2.0
Ich hinke zur Zeit den aktuellen Geschichten etwas hinter her, weshalb die Nachricht, dass Python für Symbian in der Version 2.0 erschien, bereits mehr als ein Monat alt ist. Aber es lohnt sich, auf die neue Version zu wechseln, da ihr Python 2.5.4 zugrunde liegt. Als Gnu/Linux-User benötigt man die Datei PythonForS60_2.0.0.tar.gz von garage.maemo.org. Nach dem Entpacken überträgt man die Dateien Python_2.0.0.sis
, pips.sis
und PythonScriptShell_2.0.0_3_0.sis
aus dem Ordner /PythonForS60/PyS60Dependencies
entweder per Bluetooth oder mit dem USB-Kabel auf das Telefon. Anschließend installiert man sie in dieser Reihenfolge in den Telefonspeicher. Die Installation muss in den Telefonspeicher und nicht auf die Speicherkarte erfolgen, da Python-Programme ansonsten Probleme haben können, den Interpreter von Python für Symbian zu finden.
Wenn alle drei Dateien installiert sind, findet man anschließend den Programm-Starter Python2.0.0 im Ordner Installationen, und der Spaß kann beginnen:
Es bleibt aber ein kleiner Wermutstropfen: Python für S60 läuft nur auf Geräten der 3rd- und 5th-Editionen. Für Geräte der 2nd-Edition wird es leider kein Python 2.0 geben, da die benötigte OpenC-Bibliothek für sie nicht existiert. Es scheint auch Probleme mit der Installation auf älteren 3rd-Edition Geräten ohne Feature Pack (FP) zu geben, wie auf dem E61. Die Version 1.9.6 funktioniert aber noch wunderbar.
Weiter ist es Schade, dass Python 2.0.0 für Symbian immer noch nicht in den OVI-Store eingezogen ist. Dabei ist es für die schnelle Entwicklung kleiner Anwendungen einfach ideal. Um das zu demonstrieren, legt man unter Gnu/Linux die Datei HalloWelt.py mit folgendem Zweizeiler an:
import appuifw appuifw.note(u'Hallo Welt.', 'info') |
Die Datei speichert man dann im Ordner /PythonForS60
, der aus der Datei PythonForS60_2.0.0.tar.gz
extrahiert wurde. Im Terminal schlüpft man dann in dieses Verzeichnis und führt folgenden Befehl aus:
python2.5 ensymble.py py2sis HalloWelt.py |
Der Befehl gilt für Ubuntu Karmic Koala, wo Python 2.6 bzw. Python 3.0 der Standard ist. Das Programm Ensymble funktioniert aber zur Zeit nur mit Python 2.5. Die daraufhin erzeugte Datei HalloWelt_v1_0_0.sis überträgt man wie gewohnt auf das Telefon, um sie dort zu installieren. Die Sicherheitswarnung, dass das Programm HalloWelt nicht signiert ist, kann man übrigens getrost ignorieren. Nach der Installation findet man den Starter im Ordner Installationen:
Führt man das Programm dann aus, sieht man diese Info-Meldung:
Wem das Beispiel zu schlapp ist, der kann das Ganze mit dem kleinen Programm RamInfo.py
durchgehen. Das Programm zeigt einfach nur die Größe des kompletten und die des freien Arbeitsspeichers an:
import appuifw, sysinfo totalRam = sysinfo.total_ram()/(1024*1024) freeRam = sysinfo.free_ram()/(1024*1024) appuifw.query(u'RAM:\nTotal: ' + str(totalRam) + u' MB' + u'\nFree : ' + str(freeRam) + u' MB', 'query') |
Das Ergebnis könnte dann so aussehen, hängt aber vom verfügbarem Arbeitsspeicher und den aktuell laufenden Programmen ab:
Oder man informiert sich über den Ladestand des Akkus in Prozent:
import appuifw, sysinfo battery = sysinfo.battery() appuifw.note(u'Battery: ' + str(battery) + ' %', 'info') |
Wie man sieht, kann man sehr schnell viele kleine Programme selbst schreiben, in eine Symbian-Datei umwandeln und auf dem Handy installieren.