Home / LinuxUser / 2007 / 02 / Entwicklungshelfer

Top-Beiträge

Jailbreaken erlaubt
(233 Punkte bei 9 Stimmen)
Mein Schreibtisch
(205 Punkte bei 9 Stimmen)
Nie mehr Mails abrufen!
(195 Punkte bei 6 Stimmen)
Debian per Post
(178 Punkte bei 7 Stimmen)
Überflieger
(178 Punkte bei 7 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 8500 Shops,
3.1 Mio Artikel. Alle Bestseller, Gutscheine und Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Bei Freeware bietet Ihnen kostenlose Software Downloads von Programmen.
Günstige Digitalkameras finden Sie im Preisvergleich.

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).

Aktuelles Heft bestellen
Kommentare
Einem Freund empfehlen    Druckansicht

796 Hits
Wertung: 98 Punkte (9 Stimmen)

Infos zur Publikation

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Touchpad beim Tippen ausschalten
Touchpad beim Tippen ausschalten
Marcel Hilzinger, 19.07.2010 13:34, 3 Kommentare

Wer kennt das Problem nicht: während man so fröhlich vor sich hin tippt, ist man zufällig mit dem Daumen oder einem anderen Finger auf's Touchpad gekommen und schon schreibt man ohne es zu wol...

Aktuelle Fragen

Netzwerkprobleme mit SuSE 11.3
Lukas Jäger, 30.07.2010 12:24, 1 Antworten
Hallo, zusammen. Ich wollte die Tage meine SuSE auf 11.3 upgraden. Als das soweit gemacht war, b...
Übergrosse Distributionen
--- ---, 24.07.2010 11:34, 3 Antworten
Hat die Grösse einer Distribution auswirkungen auf die Leistung des Systems ? Beispiel: Wenn ma...
KeepassX (LinuxUser 8/10)
Matthias Drexler, 22.07.2010 16:53, 3 Antworten
In der aktuellen LinuxUser ist ein Artikel über KeepassX. Dort wird über ein Problem berichtet,...
Prozess zurückholen
Martin Burkhardt, 21.07.2010 02:02, 2 Antworten
Hallo, Seit einigen Jahren beschäftigt mich die Frage ob es möglich ist einen Prozess der mit...
Acrobat Reader Plugin mit alternativen Browsern nutzen
GoaSkin , 12.07.2010 23:29, 3 Antworten
Hallo, das Acrobat Reader Plugin funktioniert wunderbar mit dem Firefox, doch andere Browser k...