Aufmacher

Entwicklungshelfer

Hilfen für das Programmieren mit Python

01.02.2007
Nachdem in den ersten Teilen der Python-Einführung die Sprache beschrieben wurde, geht es im letzten Teil um nützliche Hilfen rund um Python.

Sind Sie nach den den ersten vier Teilen des Python-Kurses auf den Geschmack gekommen und planen nun größere Projekte mit Python, dann bieten sich einige Helfer an: Dieser Artikel liefert Tipps zu hilfreicher Software für die Entwicklung.

Entwicklungsumgebungen

Bei maschinennahen Sprachen oder solchen mit einer komplexeren Struktur sind sie gang und gäbe, Python-Programmierer setzen sie dagegen seltener ein: die sogenannte IDE. Python-Code brauchen Sie nicht zu übersetzen. Ein Debugger kommt nur sehr selten zum Einsatz; oft reicht ein Traceback, um einen Fehler zu finden. Manchmal helfen ein paar print-Anweisungen.

Meist reicht daher der Lieblingseditor (beispielsweise Vim oder Emacs), zusammen mit einer Shell (Xterm, Konsole, Gnome Terminal), in der Sie einen interaktiven Interpreter oder das zu entwickelnde Programm aufrufen. Abbildung 1 zeigt als Beispiel links eine Shell mit einem Interpreter, rechts den Vim-Editor [1]. Selbst bei diesem minimalistischen Arbeitsstil hilft eine IDE gelegentlich, beispielsweise um Vererbungshierarchien im Code grafisch darzustellen.

Abbildung 1: Eine Shell und den Lieblingseditor – mehr braucht es nicht zum Entwickeln mit Python.

Ungeachtet dessen, dass eine IDE nicht unbedingt nötig ist, gibt es auch für Python etliche [2]. Ein guter Start, vor allem für Gelegenheitsprogrammierer, ist das Programm Idle (Abbildung 2), das bei den meisten Linux-Distributionen zusammen mit der Python-Standarddistribution installierbar ist, und das Sie durch Eingabe von idle & auf der Kommandozeile starten.

Abbildung 2: Die Programmierumgebung Idle liefern die meisten Distributionen im Standardumfang mit.

Eine Auswahl weiterer IDEs aus dem Open-Source- und dem kommerziellen Umfeld listet die Tabelle "Python-IDEs" auf. Es empfiehlt sich, eine IDE zu verwenden, deren Feature-Liste die Unterstützung für die Skriptsprache nicht nur nebenbei listet. Solche IDEs konzentrieren sich häufig auf C und C++ und bieten beispielweise keine Debugger-Integration für Python. Mitunter erschöpft sich der Support dann darin, dass der integrierte Editor den Quellcode richtig einfärbt. Mit den Programmen in der Tabelle liegen Sie dagegen genau richtig.

Python-IDEs

Open Source
Name URL Bemerkungen
Boa Constructor http://boa-constructor.sourceforge.net GUI-Designer für wxPython; erzeugt UML-Klassendiagramme
DrPython http://drpython.sourceforge.net mit eigenen Python-Plugins erweiterbar
PyDev http://pydev.sourceforge.net Python-Erweiterung für Eclipse [3]
Eric http://www.die-offenbachs.de/detlev/eric.html für Python und Ruby; viele Features
Stani's Python Editor (SPE) http://www.stani.be/python/spe viele Features; erzeugt UML-Klassendiagramme; GUI-Designer für wxPython
UliPad http://wiki.woodpecker.org.cn/moin/UliPad durch Plugins erweiterbar
Kommerziell
Name URL Bemerkungen
BlackAdder http://www.thekompany.com/products/blackadder für Python und Ruby; kostenlose Personal-Edition
Komodo http://www.activestate.com/Products/Komodo spezialisiert auf dynamische Sprachen
WingIDE http://www.wingware.com/products 10 Tage kostenloser Probebetrieb bei vollem Funktionsumfang

Helferlein

Entwickler schätzen den interaktiven Modus des Python-Interpreters. Noch komfortabler geht es mit IPython [4]. Der Screenshot in Abbildung 3 zeigt eine Beispielsitzung. Zu den Vorzügen gehören unter anderem der Zugriff auf viele frühere Ein- und Ausgaben, nicht nur die letzte Ausgabe, wie im gewöhnlichen Python-Interpreter, das Anzeigen oder Vervollständigen von Attributen mit der Tabulator-Taste (Tab Completion) sowie das Anzeigen der Dokumentation oder des Quellcodes eines Objekts durch angehängte Fragezeichen. Außerdem liefert IPython farbige Tracebacks mit mehr Kontext-Zeilen.

Abbildung 3: Der verbesserte Interpreter IPython erlaubt den Abruf alter Ein- und Ausgaben, das Vervollständingen per Tab sowie Docstring- und Traceback-Anzeige.

In Python-Programme schleichen sich, verglichen zum Beispiel mit der maschinennahen Sprache C, sehr selten komplexere Fehler ein. Die meisten Fehler finden Sie durch Tracebacks oder print-Anweisungen relativ schnell. Um aber von vornherein möglichst wenige Programm- und Stilfehler einzubauen, bieten sich die Fehlersuchprogramme PyChecker [5] oder PyLint [6] an, die analog zu Lint für C-Code funktionieren.

Diese finden bereits einige Macken im Code, wie zum Beispiel fehlende Modul-Importe, das Verwenden nicht-existierender Klassenmethoden oder -attribute, den Einsatz einer Variablen vor dem deklarieren sowie unbenutzte Funktions- oder Methoden-Argumente.

Da Python sehr dynamisch ist, müssen einige der obigen Bedingungen nicht zwangsläufig Fehler sein (zum Beispiel dürfen Sie Klassen zur Laufzeit neue Methoden hinzufügen). Das Programm erlaubt es daher, Tests selektiv abzuschalten, um keine unnötigen Warnungen zu bekommen.

Das Entwickeln regulärer Ausdrücke, wie dem Folgenden, ist mitunter langwierig und fehleranfällig:

<C>\bLinux(?:[ -]|)(?P<zeitschrift>User|Magazin)\b<C>

Um es sich einfacher zu machen, benutzen Sie das Paket retest[7], das die Syntax regulärer Ausdrücke von Pythons Modul re versteht (Abbildung 4).

Abbildung 4: Das Paket retest hilft, verschiedene Schreibweisen für den Begriff "LinuxUser" zu berücksichtigen (Textfelder von oben nach unten: zu testender regulärer Ausdruck, zu testender Text, Ergebnisse der Operation).

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 01/2015: E-Books im Griff

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

ICEauthority
Thomas Mann, 17.12.2014 14:49, 2 Antworten
Fehlermeldung beim Start von Linux Mint: Could not update ICEauthority file / home/user/.ICEauth...
Linux einrichten
Sigrid Bölke, 10.12.2014 10:46, 5 Antworten
Hallo, liebe Community, bin hier ganz neu,also entschuldigt,wenn ich hier falsch bin. Mein Prob...
Externe USB-Festplatte mit Ext4 formatiert, USB-Stick wird nicht mehr eingebunden
Wimpy *, 02.12.2014 16:31, 0 Antworten
Hallo, ich habe die externe USB-FP, die nur für Daten-Backup benutzt wird, mit dem YaST-Partition...
Steuern mit Linux
Siegfried Markner, 01.12.2014 11:56, 2 Antworten
Welches Linux eignet sich am besten für Steuerungen.
Nach Ubdates alles weg ...
Maria Hänel, 15.11.2014 17:23, 5 Antworten
Ich brauche dringen eure Hilfe . Ich habe am wochenende ein paar Ubdates durch mein Notebook von...