3.5. Interaktive Rechenumgebungen mit Binder#

Binder erstellt reproduzierbare, interaktive Rechenumgebungen aus Git-Repositories. Im Gegensatz zu Google Colab repliziert Binder exakt die im Repository definierte Umgebung, inklusive aller Pakete und Versionen. Über “Launch (🚀) → Binder” starten Leser:innen eine Live-Version der Notebooks mit allen Abhängigkeiten. Für Projekte ohne hohe CPU- oder RAM-Anforderungen kann der öffentliche BinderHub genutzt werden.

3.5.1. Wie Binder Ihr Repository verarbeitet#

1. Analyse des Repositories Binder untersucht beim Start der Umgebung das GitHub-Repository, das in Ihrer _config.yml hinterlegt ist.

2. Erstellung der Umgebung Basierend auf den gefundenen Konfigurationsdateien (z. B. requirements.txt, environment.yml oder Dockerfile) wird ein Docker-Image gebaut. Dieser Build dauert beim ersten Mal einige Minuten und wird zwischengespeichert.

3. Start der Umgebung Leser:innen erhalten Zugriff auf eine vollständige Jupyter-Oberfläche im Browser – inklusive aller Projektdateien und Abhängigkeiten.

3.5.2. Technische Konfiguration#

Um den Binder-Launch-Button zu aktivieren, stellen Sie sicher, dass die folgenden Zeilen in Ihrer _config.yml-Datei enthalten sind:

repository:
  url: https://github.com/your-username/your-repo  # GitHub-Adresse des Projekts
  branch: main  # Standardbranch, z. B. "main" oder "master"

launch_buttons:
  notebook_interface: jupyterlab  # Oberfläche: jupyterlab oder classic
  binderhub_url: https://mybinder.org

3.5.3. Erforderliche Dateien#

Binder sucht nach Konfigurationsdateien im Stammverzeichnis Ihres Repositories. Sie benötigen nur die Dateien, die für Ihr Projekt relevant sind:

requirements.txt
Enthält eine Liste der Python-Pakete und deren Versionen, die für die Umgebung erforderlich sind.

postBuild
Führt benutzerdefinierte Befehle aus, die nach dem Erstellen der Umgebung ausgeführt werden sollen.

install.R
Installiert die benötigten R-Pakete und richtet den R-Kernel ein.

Erweiterte Konfiguration mit Docker#

Für komplexe Umgebungen können Sie ein Dockerfile verwenden. Binder priorisiert dies gegenüber anderen Konfigurationsdateien:

Was sollten Sie verwenden?

Verwenden Sie Docker, wenn: Komplexe Systeminstallationen erforderlich sind, Sie mehrere Programmiersprachen mischen, spezifische Versionen von Systembibliotheken benötigen oder vollständige Kontrolle über die Umgebung wünschen.

Verwenden Sie einfache Konfigurationsdateien, wenn: Sie Standard-Python- oder R-Pakete nutzen, schnellere Build-Zeiten benötigen oder eine einfachere Wartung bevorzugen.

3.5.4. Häufige Herausforderungen beim Bereitstellen#

Umgebungs-Build-Zeit: Binder muss Ihre Umgebung beim ersten Mal erstellen und dabei alle Pakete aus Ihren Konfigurationsdateien installieren. Dies kann insbesondere bei R-Paketen zeitaufwendig sein. Testen Sie den Build vor der Veröffentlichung und rechnen Sie beim ersten Start mit Wartezeit für Ihre Leser:innen.

Temporäre Sitzungen: Binder-Sitzungen sind zeitlich begrenzt und werden nach einer Phase der Inaktivität beendet. Änderungen werden nicht in Ihr Repository zurückgespeichert. Weisen Sie Lernende in Ihrer OER darauf hin, Arbeitsergebnisse rechtzeitig herunterzuladen (siehe Abschnitt Nutzung durch Lernende).

Bewährte Praktiken

Beschränken Sie sich auf notwendige Pakete in Ihren Konfigurationsdateien. Verwenden Sie spezifische Versionsnummern für Reproduzierbarkeit und testen Sie Ihre Umgebung lokal vor der Bereitstellung.

3.5.5. Nutzung durch Lernende#

Wie Lernende ein Notebook über den Launch-Button öffnen, mit den Sitzungsgrenzen umgehen und ihre Ergebnisse sichern, steht im Learners Manual: Cloud-Ausführung im Learners Manual. Verweisen Sie in Ihrer OER auf diese Seite, statt die Hinweise im Buch selbst zu wiederholen.

3.5.6. Vergleich: Colab vs. Binder#

Merkmal

Google Colab

Binder

Umgebungskontrolle

Nutzt Googles vorinstallierte Pakete; zusätzliche Pakete erfordern manuelle Installation

Erstellt Ihre exakte Umgebung aus Konfigurationsdateien nach

Dateizugriff

Öffnet einzelne Notebooks; erfordert manuelles Hochladen zusätzlicher Dateien

Bietet Zugriff auf die gesamte Repository-Struktur und Dateien

Persistenz

Kann in Google Drive speichern; integriert in Google-Ökosystem

Temporäre Sessions; Arbeit muss manuell heruntergeladen werden

Setup-Anforderungen

Minimaler Setup; funktioniert sofort mit jedem Notebook

Erfordert ordnungsgemäße Konfigurationsdateien und Umgebungsspezifikation

Ressourcenverfügbarkeit

Bietet GPU-Zugriff und generell mehr Rechenressourcen

Begrenzte Ressourcen; besser geeignet für Bildungsinhalte und Demos

Nutzererfahrung

Vertraute Google-Oberfläche; erfordert Google-Account

Native Jupyter-Oberfläche; kein Account erforderlich

Binder eignet sich besonders gut für pädagogische Jupyter Books, bei denen Sie eine vollständige, reproduzierbare Umgebung bereitstellen möchten, die Ihrem lokalen Entwicklungssetup entspricht.

Zusätzliche Materialien

Für detaillierte Informationen zur Konfiguration von Launch-Buttons in Jupyter Book empfehlen wir die offizielle Jupyter Book Dokumentation zu Launch Buttons.

Für umfassende Informationen zu Binder-Konfigurationen und erweiterten Setup-Optionen konsultieren Sie die offizielle Binder Dokumentation. Praktische Beispiele und Templates für verschiedene Umgebungen finden Sie in den Binder Examples Repository.