Vor kurzem habe ich begonnen, in die Welt von Kotlin einzutauchen, einer modernen und vielseitigen Programmiersprache, die meine Aufmerksamkeit erregt hat. Da ich jedoch an die interaktive Umgebung von Jupyter gewöhnt bin, die schnelle Iterationen und eine flüssige Code-Erkundung ermöglicht, habe ich mich gefragt, ob es für Kotlin etwas Ähnliches gibt.
Zu meiner angenehmen Überraschung habe ich entdeckt, dass es einen Jupyter-Kernel für Kotlin gibt. Dieses Tool kombiniert die Leistungsfähigkeit und Eleganz von Kotlin mit der Interaktivität und Benutzerfreundlichkeit von Jupyter und schafft so eine ideale Entwicklungsumgebung zum Erlernen und Experimentieren mit der Sprache.
In diesem Beitrag teile ich meine Erfahrungen beim Einrichten einer Jupyter-Umgebung mit Kotlin-Unterstützung und gehe sogar noch einen Schritt weiter und erstelle ein Notizbuch, mit dem Sie mit mehreren Sprachen gleichzeitig arbeiten können.
Die Installation des Kotlin-Kernels für Jupyter ist relativ einfach, insbesondere wenn wir Docker verwenden, um eine kontrollierte und reproduzierbare Umgebung zu erstellen. Schauen wir uns die Docker-Datei an, die ich zu diesem Zweck erstellt habe – lesen Sie die Kommentare, um jeden Schritt zu verstehen:
Wir beginnen mit einem offiziellen Jupyter-Image, das von quay.io heruntergeladen wurde. Wir verwenden eine bestimmte Version, um die Reproduzierbarkeit sicherzustellen und kennzeichnen das Bild zur einfachen Identifizierung als Kotlin-Kernel.
FROM quay.io/jupyter/base-notebook:2024-12-31 AS kotlin-kernel
Wir installieren OpenJDK 21, das zum Ausführen von Kotlin erforderlich ist. Die Installation erfolgt als Root, um Berechtigungsprobleme zu vermeiden, und dann wechseln wir zum Nicht-Root-Benutzer, um die Sicherheit des Images zu gewährleisten.
USER root RUN apt-get update && apt-get -y install openjdk-21-jdk USER jovyan
Wir installieren den Kotlin-Kernel für Jupyter, damit wir Kotlin-Code in unserem Notebook ausführen können.
RUN pip install --user \ kotlin-jupyter-kernel==0.12.0.322
Wir erstellen ein Verzeichnis zum Speichern der Notizbücher.
RUN mkdir -p /home/jovyan/notebooks
Schließlich richten wir die Umgebungsvariable NOTEBOOK_ARGS ein, die es uns ermöglicht, das Notizbuch mit den von uns benötigten Optionen zu konfigurieren. In diesem Fall möchten wir nicht, dass sich automatisch ein Browser öffnet, und das Notizbuchverzeichnis soll /home/jovyan/ sein. Notizbücher.
ENV NOTEBOOK_ARGS="--no-browser --notebook-dir=/home/jovyan/notebooks"
Um das Docker-Image zu erstellen, führen wir Folgendes aus:
docker build --target kotlin-kernel -t kotlin-kernel .
Dieser Befehl erstellt das Docker-Image und markiert es als kotlin-kernel.
Um den Container auszuführen:
docker run \ -it \ -p 8888:8888 \ -v $(pwd)/notebooks:/home/jovyan/notebooks \ kotlin-kernel
Dieser Befehl:
Nach der Ausführung können Sie in Ihrem Browser auf JupyterLab zugreifen und sehen, dass im Launcher bereits zwei Kernel verfügbar sind: Python und Kotlin.
Und tatsächlich können wir jetzt Notizbücher mit Kotlin erstellen!
Als ich mich eingehender mit Kotlin befasste, fielen mir einige interessante Ähnlichkeiten mit Python auf. Dies brachte mich dazu, diese Ähnlichkeiten detaillierter zu visualisieren und direkte Vergleiche zwischen den beiden Sprachen zu erstellen. Ich habe mich gefragt, ob es möglich wäre, Python- und Kotlin-Code auf demselben Notebook auszuführen, und es stellte sich heraus, dass dies möglich ist.
Ich habe eine Erweiterung (und einen Jupyter-Kernel) namens SoS (Script of Scripts) entdeckt, die diese Funktionalität ermöglicht. Ich habe beschlossen, es mit dem Kotlin-Kernel zu meinem Container hinzuzufügen. Hier sind die Ergänzungen zur Docker-Datei:
Wir installieren SoS, das es uns ermöglicht, Python- und Kotlin-Code im selben Notebook auszuführen.
FROM quay.io/jupyter/base-notebook:2024-12-31 AS kotlin-kernel
Mit diesen Ergänzungen können wir jetzt unseren verbesserten Container erstellen und ausführen:
USER root RUN apt-get update && apt-get -y install openjdk-21-jdk USER jovyan
Wenn Sie jetzt auf JupyterLab zugreifen, werden Ihnen drei verfügbare Kernel angezeigt: Python, Kotlin und SoS.
Und jetzt können wir Python- und Kotlin-Code im selben Notebook ausführen:
Um das visuelle Erlebnis zu verbessern und Zellen verschiedener Sprachen leichter unterscheiden zu können, habe ich beschlossen, das Erscheinungsbild der Zellen anzupassen.
Mit Jupyter Notebook können Sie benutzerdefiniertes CSS hinzufügen, wodurch wir je nach Sprache links von jeder Zelle Farbverläufe hinzufügen können.
Hier ist das CSS, das ich verwendet habe:
RUN pip install --user \ kotlin-jupyter-kernel==0.12.0.322
Um diese Anpassung zu implementieren, habe ich das CSS in einer Datei namens „custom.css“ gespeichert und zur Docker-Datei hinzugefügt:
RUN mkdir -p /home/jovyan/notebooks
Darüber hinaus ist es notwendig, im Jupyter-Lab-Befehl anzugeben, dass wir dieses benutzerdefinierte CSS verwenden möchten, indem wir dem Ausführungsbefehl das Flag --custom-css hinzufügen.
ENV NOTEBOOK_ARGS="--no-browser --notebook-dir=/home/jovyan/notebooks"
Bei der Verwendung des mehrsprachigen Kernels tritt gelegentlich ein Fehler auf, wenn eine Kotlin-Zelle ausgeführt wird. Dieser Fehler wird zufällig angezeigt und obwohl ich seinen Ursprung noch nicht identifizieren konnte oder wie ich ihn definitiv beheben kann, habe ich eine vorübergehende Lösung gefunden, um das Benutzererlebnis zu verbessern.
Um diesen lästigen Fehler zu verbergen, habe ich mich für die Verwendung von CSS entschieden. Ich habe der oben erwähnten Datei „custom.css“ die folgende Zeile hinzugefügt:
FROM quay.io/jupyter/base-notebook:2024-12-31 AS kotlin-kernel
Diese CSS-Zeile verbirgt Kotlin-spezifische Fehlermeldungen im Notizbuch. Obwohl es sich nicht um eine ideale Lösung handelt, da es wichtige Fehler verbergen könnte, verbessert es das visuelle Erlebnis bei der Arbeit mit Kotlin-Notebooks erheblich, insbesondere wenn es um diesen wiederkehrenden und scheinbar harmlosen Fehler geht.
In diesem Beitrag haben wir untersucht, wie man mit Jupyter Notebooks eine interaktive Entwicklungsumgebung für Kotlin erstellt.
Wir beginnen mit der grundlegenden Einrichtung eines Docker-Containers mit Kotlin-Unterstützung und gehen dann zu einer anspruchsvolleren Umgebung über, die die Codeausführung in mehreren Sprachen innerhalb desselben Notebooks ermöglicht.
Darüber hinaus haben wir gesehen, wie wir das Erscheinungsbild unserer Notizbücher anpassen können, um das visuelle Erlebnis und die Lesbarkeit zu verbessern, und wie wir einige häufige Fehler, die bei der Verwendung dieser Notizbücher auftreten können, „ausblenden“ können.
Dies erleichtert nicht nur das Erlernen von Kotlin, sondern ermöglicht auch direkte Vergleiche mit anderen Sprachen wie Python, was für Entwickler, die auf Kotlin umsteigen oder regelmäßig mit mehreren Programmiersprachen arbeiten, äußerst nützlich sein kann
Zusätzliche RessourcenIch hoffe, dieser Leitfaden wird Ihnen bei Ihrer Lernreise mit Kotlin und Jupyter nützlich sein.
Das obige ist der detaillierte Inhalt vonErstellen eines Notebooks mit Jupyter und Kotlin. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!