Einführung und Funktionsweise
Wer mit Plotly unter Linux interaktive Visualisierungen als statische Grafiken exportieren möchte, stößt bei modernen Kaleido-Versionen auf den Helfer choreo_get_chrome. Dieser Leitfaden beleuchtet die Bereitstellung der erforderlichen Headless-Chromium-Engine auf einem Ubuntu-System. Wir führen die Installation Schritt für Schritt durch, prüfen die Log-Meldungen im Terminal und validieren das Rendering für den produktiven Einsatz.
1. System vorbereiten und choreographer bereitstellen
Zunächst bringen wir die Paketlisten des Systems auf den neuesten Stand und rüsten alle benötigten Basispakete nach, darunter Werkzeuge für isolierte Python-Umgebungen sowie Download-Dienstprogramme über sudo apt-get update -qq && sudo apt-get install -y python3-venv python3-pip curl:

Um Paketkonflikte mit dem Host-System sauber zu vermeiden, erstellen wir ein dediziertes Virtual Environment im Benutzerverzeichnis und laden dieses direkt in die aktuelle Shell mit python3 -m venv ~/choreo_env && source ~/choreo_env/bin/activate:

Sobald die isolierte Umgebung aktiv ist, installieren wir das Python-Paket über pip install --quiet choreographer, das die Schnittstelle zur Browsersteuerung und den Download-Mechanismus enthält:

2. Browser-Binärdatei mit choreo_get_chrome herunterladen
Vor dem Bezug der Rendering-Engine prüfen wir mittels source ~/choreo_env/bin/activate && which choreo_get_chrome, ob das CLI-Werkzeug ordnungsgemäß im Pfad des aktiven Virtual Environments registriert ist:

Im Anschluss starten wir den eigentlichen Download mit source ~/choreo_env/bin/activate && choreo_get_chrome. Der Befehl erkennt die lokale Systemarchitektur selbstständig und bezieht einen dazu passenden Chromium-Build:
Nach Abschluss der Übertragung steht die Headless-Instanz für Rendering-Aufgaben lokal bereit.

3. Erkennung des Browserpfads und Caches prüfen
Um sicherzustellen, dass die Bibliothek die neu bezogene Chromium-Binärdatei im Bedarfsfall auch auffindet, fragen wir den Pfad direkt über die Python-Schnittstelle ab: source ~/choreo_env/bin/activate && python3 -c "import choreographer; print('Detected browser:', choreographer.get_browser_path())".
Damit lässt sich zweifelsfrei nachweisen, ob choreographer das Binary korrekt registriert hat und künftige Prozesse darauf zugreifen können.

Ergänzend werfen wir mit ls -lh ~/.cache/choreographer/ 2>/dev/null || ls -lh ~/.local/share/choreographer/ 2>/dev/null || echo 'Browser path verified via choreographer API' einen Blick in die typischen Cache- und Datenverzeichnisse des Benutzers, um die physische Ablage der Dateien zu begutachten:
Sollte die Verzeichnisstruktur abweichen oder das Dateilisting unterdrückt werden, signalisiert die Fallback-Rückmeldung im Terminal weiterhin die erfolgreiche Verifikation über die Programmierschnittstelle.

4. Bildexport mit Plotly und Kaleido testen
Nachdem die Browserbasis bereitsteht, statten wir die Umgebung über source ~/choreo_env/bin/activate && pip install --quiet plotly kaleido mit Plotly sowie der Rendering-Schnittstelle Kaleido aus:

Nun folgt der eigentliche Funktionstest: Über source ~/choreo_env/bin/activate && python3 -c "import plotly.graph_objects as go; fig = go.Figure(data=go.Bar(y=[1, 3, 2])); fig.write_image('test_output.png')" erzeugen wir ein einfaches Balkendiagramm via Plotly und exportieren es über Kaleido im Hintergrund direkt als PNG-Datei:
Erfolgt die Ausführung ohne Fehlermeldung, greift Kaleido nahtlos auf den Chromium-Headless-Prozess zu und schreibt das Bild wie gewünscht auf die Festplatte.

Abschließend kontrollieren wir Dateigröße und Attribute der gerenderten Datei im Projektverzeichnis mittels ls -lh test_output.png:
Die Dateiausgabe belegt, dass test_output.png erfolgreich mit realistischer Dateigröße angelegt wurde.

Damit ist die Headless-Rendering-Pipeline unter Ubuntu einsatzbereit eingerichtet. Mit dieser Konfiguration lassen sich Berichte, Dashboards und wissenschaftliche Visualisierungen zuverlässig und automatisiert auf Linux-Servern erzeugen.