Python im n8n Code-Node: Möglichkeiten und Grenzen
Python läuft im n8n Code-Node über Pyodide oder native Ausführung, mit klaren Grenzen bei externen Paketen. Ein Praxisüberblick.
Der Code-Node in n8n lässt sich wahlweise mit JavaScript oder Python füttern, allerdings mit spürbaren Unterschieden: JavaScript läuft nativ, Python durchläuft einen zusätzlichen Kompilierungsschritt und ist damit langsamer, und die Verfügbarkeit externer Python-Pakete hängt stark davon ab, ob n8n selbst gehostet wird oder in der Cloud läuft. Stand: August 2026.
Welche Python-Laufzeiten bietet n8n?
n8n bietet laut offizieller Dokumentation zwei unterschiedliche Wege, Python im Code-Node auszuführen. Die ursprüngliche Variante nutzt Pyodide, einen Port von CPython zu WebAssembly, der die verfügbaren Pakete deutlich einschränkt. Seit Version 1.111.0 unterstützt n8n zusätzlich eine native Python-Ausführung über eigene Task-Runner, die ab n8n Version 2 als stabil gilt. Welche Variante tatsächlich aktiv ist, hängt von der Konfiguration der Instanz ab. Einen Überblick über beide Programmiermöglichkeiten im Werkzeug gibt die Einstiegsseite zu Code in n8n.
Welche Pakete lassen sich in der Praxis nutzen?
Hier liegt die größte Einschränkung, und sie unterscheidet sich je nach Betriebsart deutlich:
- n8n Cloud: Weder im Pyodide- noch im nativen Python-Modus lassen sich externe Bibliotheken importieren.
- Self-Hosted mit nativem Python: Externe Module sind möglich, wenn das verwendete Runner-Image sie enthält und diese explizit freigegeben werden.
- Self-Hosted mit Pyodide: Die Paketauswahl ist durch die WebAssembly-Umgebung von vornherein begrenzt, unabhängig von eigener Konfiguration.
In der n8n-Community tauchen dazu regelmäßig ähnliche Meldungen auf: Anfragen, Pakete direkt installieren zu können, Fehlermeldungen zu nicht erlaubten externen Paketen, sowie der Hinweis, dass Python in manchen schlanken Docker-Images wie Alpine-basierten Containern erst nachträglich installiert werden muss. Wer produktiv mit Python-Paketen arbeiten will, kommt bei Self-Hosting also selten am eigenen, angepassten Docker-Image vorbei.
Warum ist der Python-Modus langsamer als JavaScript?
Laut n8n-Dokumentation braucht die Verarbeitung von Python-Code grundsätzlich länger als die von JavaScript, weil zusätzliche Kompilierungsschritte anfallen, bevor der eigentliche Code ausgeführt wird. Für einzelne, gelegentlich laufende Nodes fällt das kaum ins Gewicht. Bei Workflows mit hoher Ausführungsfrequenz oder großen Datenmengen im Code-Node kann sich der Unterschied jedoch spürbar auf die Gesamtlaufzeit auswirken, was bei der Wahl zwischen JavaScript und Python eine Rolle spielen sollte, sobald Performance zählt.
Wann ist ein anderer Node die bessere Wahl?
Nicht jede Aufgabe gehört in den Code-Node, selbst wenn sie sich technisch dort lösen ließe. Für den Dateisystemzugriff empfiehlt die Dokumentation den Read/Write File From Disk Node, für HTTP-Anfragen den HTTP Request Node, statt diese Funktionen in eigenem Python- oder JavaScript-Code nachzubauen. Das hat zwei Vorteile: Die dedizierten Nodes sind für n8n-Workflows optimiert und bringen eigene Fehlerbehandlung mit, und der Workflow bleibt für Kolleginnen und Kollegen ohne Programmierkenntnisse lesbar. Der Code-Node eignet sich am besten für Transformationslogik, die sich mit den Standard-Nodes nicht oder nur umständlich abbilden lässt.
Lohnt sich Python gegenüber JavaScript überhaupt?
Für die meisten Automatisierungen in n8n ist JavaScript die pragmatischere Wahl, allein wegen der Geschwindigkeit und der nativen Unterstützung. Python wird vor allem dann interessant, wenn ein Team bereits Python-Kenntnisse mitbringt oder wenn eine bestehende Datenverarbeitungslogik aus einem Python-Skript übernommen werden soll. Bei komplexeren Automatisierungsprojekten, etwa im Zusammenspiel mit KI-Agenten, lohnt sich vorab ein Blick auf die Paketverfügbarkeit der eigenen Instanz, damit die geplante Logik später auch tatsächlich lauffähig ist.
Häufige Fragen zu Python im n8n Code-Node
Kann ich in der n8n Cloud beliebige Python-Pakete installieren?
Nein, in der n8n Cloud lassen sich weder im Pyodide- noch im nativen Python-Modus externe Bibliotheken importieren. Wer auf bestimmte Pakete angewiesen ist, braucht eine selbst gehostete Instanz mit passend konfiguriertem Runner-Image.
Was ist der Unterschied zwischen Pyodide und nativem Python?
Pyodide ist ein Port von CPython zu WebAssembly mit eingeschränkter Paketverfügbarkeit, während die seit Version 1.111.0 verfügbare native Python-Ausführung über Task-Runner läuft und bei Self-Hosting mehr Flexibilität bei externen Modulen bietet.
Ist Python im Code-Node genauso schnell wie JavaScript?
Nein, laut Dokumentation braucht die Verarbeitung von Python-Code länger als von JavaScript, da zusätzliche Kompilierungsschritte anfallen. Bei einzelnen Nodes fällt das selten auf, bei hoher Ausführungsfrequenz kann es die Laufzeit spürbar beeinflussen.
Sollte ich Dateizugriffe und HTTP-Aufrufe im Code-Node programmieren?
Besser nicht: n8n empfiehlt dafür den Read/Write File From Disk Node beziehungsweise den HTTP Request Node. Das hält den Workflow wartbar und nutzt die eingebaute Fehlerbehandlung dieser Nodes statt eigenem Code.
Simon Glowik
Gründer von NordFlux. Sieben Jahre Erfahrung von Web und SEO bis zur Automatisierung im Konzern-Maßstab, heute pragmatisch für den Mittelstand und mit deutscher Datenhoheit.
Zertifizierungen
- Microsoft zertifiziert — PL-900 und AZ-900
- UiPath zertifiziert — Automation Developer Associate
Konkrete Fragen zu Automatisierung oder KI?
In der kostenlosen Erstanalyse besprechen wir Ihren Fall direkt. Unverbindlich.