SublimeText, Python und flake8

Dieser Artikel erklärt die Einrichtung von flake8 für SublimeText (unter macOS). Einen allgemeinen Artikel zu Einrichtung von SublimeText für die Verwendung mit Python findest Du hier.

Die generelle Linter-Unterstützung wird durch das Paket SublimeLinter bereitgestellt. Es kann mit dem Paketmanager Package Control installiert werden. Anschließend fügt man — ebenfalls mit Package Control — die gewünschten Linter hinzu. Im Falle von flake8 ist das das Paket SublimeLinter-flake8.

Als nächstes sollte sichergestellt werden, dass flake8 überhaupt auf dem System installiert ist:

pip install flake8

bzw.

pip3 install flake8

Mit der Eingabe von

which flake8

könnt Ihr testen, ob der Pfad richtig gesetzt wurde. Falls Ihr hierbei eine Fehlermeldung erhalten solltet, überprüft die Pfade, die in der Datei „.bash_profile“ oder „.zshrc“ eingetragen sind. Hier sollte folgende Zeile vorhanden sein (für Python 3.7.x):

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

Aber selbst wenn flake8 in der Shell aufgerufen werden kann, bedeutet dies nicht zwangsläufig, dass SublimeText bzw. SublimeLinter flake8 aufrufen können. Ihr solltet deswegen sicherstellen, dass der Pfad zu flake8 auch in der Konfigurationsdatei „SublimeLinter.json“ vorhanden ist. Diese Datei kann über

> Preferences > Package Settings > SublimeLinter > Settings

geöffnet und editiert werden. Tragt hier gegebenenfalls folgendes ein:

"linters": {
    "flake8": {
        "disable": false,
        "executable": "/Library/Frameworks/Python.framework/Versions/3.7/bin/flake8",
        "args": ["--ignore=E501,E127,E128,W191"],
    },
}

In diesem Beispiel könnt Ihr außerdem sehen, wie man flake8 unter args dazu bringen kann, bestimmte Warnungen zu ignorieren.

Nach der Durchführung dieser Konfigurationsschritte sollte nun der Nutzung von flake8 nichts mehr im Wege stehen.