Python-Entwicklungsumgebungen für Einsteiger und Profis

Seite 6: PyCharm

Inhaltsverzeichnis

Wer große Python-Projekte entwickelt und bei der IDE keine Kompromisse machen will, sollte sich PyCharm (Download) ansehen. Die kommerzielle Entwicklungsumgebung von JetBrains parst den Code und weist mit sogenannten Inspections schon beim Tippen auf Fehler, Probleme und unsauberen Stil hin. Außerdem bietet sie extrem mächtige Werkzeuge fürs Refactoring bis hin zum Ändern von Variablennamen innerhalb von Strings. Interaktive Konsole, Test-Runner und Virtualenvs sind nahtlos in die Programmoberfläche integriert. Im Debugger-Modus setzt man mit einem Klick Unterbrechungspunkte neben die Code-Zeile und PyCharm zeigt in einem Fenster, mit welchen Werten Variablen belegt sind.

PyCharm gibt es kostenlos in einer Community Edition ohne Supportanspruch. Gegenüber der als Abomodell vertriebenen Professional Edition fehlen einige nicht überlebenswichtige Features. So versteht nur die kostenpflichtige Version automatisch die Importpfade eines Django-Projekts und bei clientseitigem JavaScript-Code stellt sich die kostenlose Version etwas dümmer an. Beide Versionen öffnen die gleichen Projektdateien, sodass ein Upgrade jederzeit möglich ist, falls man die Profi-Features braucht.

Die IDE ist in Java programmiert und benötigt selbst auf schnellen Rechnern einige Sekunden zum Starten. Sie benötigt so viel RAM, dass Notebooks mit 8 Gigabyte manchmal auf die langsame Festplatte ausweichen (swappen) müssen, um genug Arbeitsspeicher freizuschaufeln. Nach dem langsamen Start reagiert die IDE aber prompt auf Eingaben.

PyCharm zeigt hier das Django-Projekt aus. Links oben listet es die zum Projekt gehörenden Dateien und Ordner auf, rechts daneben sind in mehreren Reitern Code-Dateien geöffnet. Die untere Bildschirmhälfte nimmt das Debugger-Fenster ein, das rechts den Inhalt der lokalen Variablen zeigt.

Alle Features von PyCharm sind auf der Website von JetBrains genannt. Hier nur ein paar Highlights: Strg+Klick auf einen Funktionsnamen führt zur Definition der Funktion. Das klappt genauso mit Bibliotheken. Ein Rechtsklick auf eine Variable und im aufploppenden Menü die Auswahl "Find Usages" öffnet eine Übersicht mit allen Stellen, an denen die Variable benutzt wird. Die Übersicht ist sogar nach Typ sortiert. Mit Funktionen und Klassen funktioniert das auch. Der Menüpunkt "Code/Reformat Code" formatiert eine ganze Datei nach den in den Projekteinstellungen festgelegten Vorlieben. Selektiert man Codeabschnitte, kann man auch nur den selektierten Teil automatisch formatieren lassen.

Schön umgesetzt ist auch die Variablen-Liste in der rechten Hälfte vom Debugger-Fenster: Sie zeigt die Datentypen mit kleinen Symbolen an. Da Python nicht statisch typisiert ist, kann man hier schnell erkennen, wenn Variablen falsch belegt sind. Ähnlich übersichtlich sind die grünen Häkchen beim Ausführen von Unittests, mit denen man fehlschlagende Tests viel schneller erkennt als in der Konsolenausgabe des Test-Runners.