Sublime Text für die Python-Programmierung nutzen

Auch wenn diese Tage vor allem Microsofts – sehr guter – Editor Visual Studio Code in aller Munde zu sein scheint, gibt es noch andere Editoren, die sich sehr gut für die Python-Programmierung eignen. Dazu zählt Sublime Text, der derzeit in der Version 3 vorliegt. Er steht nicht nur für macOS (ab Version 10.7), sondern auch für Linux und Windows (32-/64-Bit) zur Verfügung. Dieser Artikel zeigt, wie Ihr Sublime Text (unter macOS) für die Programmierung mit Python fit machen könnt.

Nach dem Download von der Internetseite der Entwickler und anschließender Installation, sollte man als nächstes den Paketmanager Package Control installieren. Ruft dazu diese Internetseite auf und kopiert den dort gezeigten Python Code in die Console von Sublime Text, die über

> View > Show Console

aufgerufen werden kann. Sobald dieser Code ausgeführt wurde, steht Euch Package Control über

> Sublime Text > Preferences > Package Control

zur Verfügung.

Python-Unterstützung hinzufügen

Ruft nun Package Control auf und navigiert zu „Package Control: Install Packages“. Dies eröffnet die Möglichkeit, einen Suchbegriff zu einem zu installierenden Paket einzugeben. Eine Suche nach „Python“ zeigt Euch unter anderem „Python 3“ an. Wählt dieses Paket aus, um es zu installieren. Damit erhaltet Ihr die notwendige Python-Unterstützung für Sublime Text.

Pakete mit Package Control installieren

Seitenleiste hinzufügen

Es gibt noch weitere sinnvolle Pakete. Standardmäßig steht keine Seitenleiste zur Verfügung, in der beispielsweise eine Ordner-/Dateistruktur angezeigt werden könnte. Die Installation von SideBarEnhancements mithilfe von Package Control ändert dies. Schön wäre es auch, wenn in der Seitenleiste zusätzlich zu den Datei- und Ordnernamen Icons angezeigt würden. Installiert also zusätzlich das Paket „A File Icon“.

Es kann übrigens sein, dass die Seitenleiste über

> View > Side Bar > Show Side Bar

aktiviert werden muss.

Linter hinzufügen

Die Linter-Unterstützung wird über das Paket Sublime-Linter gewährleistet. Damit ist es aber nicht getan. Als nächstes ist noch die Unterstützung für den konkreten Linter hinzuzufügen. Am Beispiel von flake8 bedeutet dies folgendes:

  1. Installiert mit Package Control das Paket SublimeLinter-flake8.
  2. Installiert mit pip3 in einer Shell das Paket flake8:
pip3 install flake8

Tipp: Falls die Linter-Unterstützung (mit flake8) nicht funktionieren sollte, könnte es daran liegen, dass der Pfad zu flake8 nicht vorhanden ist. Dies kann man mit

$ which flake8

in der Shell überprüfen. Als Rückmeldung müsste der Pfad ausgegeben werden, z.B.

/Library/Frameworks/Python.framework/Versions/3.7/bin//flake8

Falls das nicht der Fall sein sollte, fügte folgende Zeile zu Eurer „.bash_profile“ oder zur „.zshrc“ hinzu:

export PATH="/Library/Frameworks/Python.framework/Versions/3.7/bin/:${PATH}"

Sublime Text konfigurieren

Es existiert eine JSON-Datei, die über

> Sublime Text > Preferences > Settings

oder – unter macOS – mit dem Tastaturkürzel cmd + , aufgerufen werden kann. Tatsächlich werden zwei Dateien aufgerufen, eine Default– und eine User-Datei. Von Interesse ist nur die User-Datei, in der die individuellen Einstellungen hinterlegt werden können.

Dort könnten beispielsweise folgende Einträge stehen:

{
    "default_encoding": "UTF-8",
    "font_face": "Source Code Pro",
    "font_size": 16.0
}

Die Konfigurationsparameter sollten selbsterklärend sein. Nach diesem Schema könnt Ihr weitere Einträge hinzufügen und so Sublime Text nach Euren Bedürfnissen konfigurieren.

Die Datei, in der diese individuelle Konfiguration vorgenommen werden kann, heißt übrigens Preferences.sublime-settings. Sie wird im Verzeichnis

~/Library/Application Support/Sublime Text 3/Packages/User

gespeichert.

Sublime Text über die Shell starten

So wie man Visual Studio Code in einer Shell mit code starten kann, ist dies bei Sublime Text mit subl möglich. Dazu muss in der Shell folgender symbolischer Link erzeugt werden:

ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl

Damit das ganze funktioniert, ist es freilich erforderlich, dass das Verzeichnis „/usr/local/bin“ Bestandteil Eurer PATH-Umgebungsvariablen ist. Mit anderen Worten: In der Datei .bash_profile (bei Nutzung der bash) oder in der Datei .zshrc (bei Nutzung von zsh) ist eine Zeile ähnlich der folgenden vorhanden:

export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"

Jetzt steht der Nutzung von subl nichts mehr im Wege. Mit

subl .

kann beispielsweise das aktuelle Verzeichnis in Sublime Text geöffnet werden. Die Ordnerstruktur wird dann in der Seitenleiste angezeigt (sofern SideBarEnhancements installiert wurde). Selbstverständlich könnten auch bestimmte Ordner oder bestimmte Verzeichnisse geöffnet werden:

subl ~/Documents/Projects  # öffnet den Ordner "Projects"
subl hello.py  # öffnet die Datei "hello.py"

Weitere Optionen zu subl können mit

subl --help

aufgerufen werden.

Themes

Auch Themes können mit Package Control installiert werden, zum Beispiel so beliebte Themes wie „Cobalt2“ oder „ayu“. Einmal zu Sublime Text hinzugefügt, könnten sie dann (am Beispiel von ayu) über die JSON-Konfigurationsdatei mit

"color_scheme": "Packages/ayu/ayu-dark.tmTheme"

hinzugefügt werden. Es geht aber auch einfacher: Über

> Sublime Text > Preferences > Color Theme

steht eine Auswahl der installierten Themes zur Verfügung. Sobald Ihr hier ein Color Theme ausgewählt habt, wird automatisch ein entsprechender Eintrag zur Konfigurationsdatei hinzugefügt.

Was gibt es noch?

Für Sublime Text stehen sehr viele Erweiterungen zur Verfügung, die mit Package Control installiert werden können. Die Seite https://packagecontrol.io/ verschafft Euch hierzu einen Überblick.

Diesen Markdown-Text habe ich zum Beispiel mit Sublime Text geschrieben und dafür das Paket „Markdown Extended“ installiert, um eine (bessere) Markdown-Unterstützung zu erhalten.