Heim Backend-Entwicklung Python-Tutorial Erstellen eines Notebooks mit Jupyter und Kotlin

Erstellen eines Notebooks mit Jupyter und Kotlin

Jan 07, 2025 am 06:25 AM

Einführung

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.

Erstellen eines Containers mit Kotlin

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:

Docker-Datei

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
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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
Nach dem Login kopieren
Nach dem Login kopieren

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
Nach dem Login kopieren
Nach dem Login kopieren

Wir erstellen ein Verzeichnis zum Speichern der Notizbücher.

RUN mkdir -p /home/jovyan/notebooks
Nach dem Login kopieren
Nach dem Login kopieren

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"
Nach dem Login kopieren
Nach dem Login kopieren

Um das Docker-Image zu erstellen, führen wir Folgendes aus:

docker build --target kotlin-kernel -t kotlin-kernel .
Nach dem Login kopieren

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
Nach dem Login kopieren

Dieser Befehl:

  • Führen Sie den Container im interaktiven Modus (-it) aus.
  • Ordnet Port 8888 des Containers Port 8888 des Hosts zu (-p 8888:8888).
  • Fügt das lokale Notebook-Verzeichnis in das Verzeichnis :/home/jovyan/notebooks des Containers ein (-v $(pwd)/notebooks::/home/jovyan/notebooks).

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.

Creando un notebook con Jupyter y Kotlin

Und tatsächlich können wir jetzt Notizbücher mit Kotlin erstellen!

Creando un notebook con Jupyter y Kotlin

Der nächste Schritt in der Interaktivität

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:

Dockerfile-Update

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
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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
Nach dem Login kopieren
Nach dem Login kopieren

Wenn Sie jetzt auf JupyterLab zugreifen, werden Ihnen drei verfügbare Kernel angezeigt: Python, Kotlin und SoS.

Creando un notebook con Jupyter y Kotlin

Und jetzt können wir Python- und Kotlin-Code im selben Notebook ausführen:

Creando un notebook con Jupyter y Kotlin

Zusätzliche Anpassung

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
Nach dem Login kopieren
Nach dem Login kopieren

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
Nach dem Login kopieren
Nach dem Login kopieren

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"
Nach dem Login kopieren
Nach dem Login kopieren

Creando un notebook con Jupyter y Kotlin

Fehler und wie man sie verbirgt

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.

Creando un notebook con Jupyter y Kotlin

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
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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.

Abschluss

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 Ressourcen

Für diejenigen, die daran interessiert sind, diese Umgebung weiter zu erkunden oder zu replizieren, habe ich den gesamten in diesem Projekt verwendeten Code in meinem GitHub-Repository verfügbar gemacht.

Ich 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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

<🎜>: Bubble Gum Simulator Infinity - So erhalten und verwenden Sie Royal Keys
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusionssystem, erklärt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Flüstern des Hexenbaum
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1670
14
PHP-Tutorial
1276
29
C#-Tutorial
1256
24
Python vs. C: Lernkurven und Benutzerfreundlichkeit Python vs. C: Lernkurven und Benutzerfreundlichkeit Apr 19, 2025 am 12:20 AM

Python ist leichter zu lernen und zu verwenden, während C leistungsfähiger, aber komplexer ist. 1. Python -Syntax ist prägnant und für Anfänger geeignet. Durch die dynamische Tippen und die automatische Speicherverwaltung können Sie die Verwendung einfach zu verwenden, kann jedoch zur Laufzeitfehler führen. 2.C bietet Steuerung und erweiterte Funktionen auf niedrigem Niveau, geeignet für Hochleistungsanwendungen, hat jedoch einen hohen Lernschwellenwert und erfordert manuellem Speicher und Typensicherheitsmanagement.

Python und Zeit: Machen Sie das Beste aus Ihrer Studienzeit Python und Zeit: Machen Sie das Beste aus Ihrer Studienzeit Apr 14, 2025 am 12:02 AM

Um die Effizienz des Lernens von Python in einer begrenzten Zeit zu maximieren, können Sie Pythons DateTime-, Zeit- und Zeitplanmodule verwenden. 1. Das DateTime -Modul wird verwendet, um die Lernzeit aufzuzeichnen und zu planen. 2. Das Zeitmodul hilft, die Studie zu setzen und Zeit zu ruhen. 3. Das Zeitplanmodul arrangiert automatisch wöchentliche Lernaufgaben.

Python vs. C: Erforschung von Leistung und Effizienz erforschen Python vs. C: Erforschung von Leistung und Effizienz erforschen Apr 18, 2025 am 12:20 AM

Python ist in der Entwicklungseffizienz besser als C, aber C ist in der Ausführungsleistung höher. 1. Pythons prägnante Syntax und reiche Bibliotheken verbessern die Entwicklungseffizienz. 2. Die Kompilierungsmerkmale von Compilation und die Hardwarekontrolle verbessern die Ausführungsleistung. Bei einer Auswahl müssen Sie die Entwicklungsgeschwindigkeit und die Ausführungseffizienz basierend auf den Projektanforderungen abwägen.

Python vs. C: Verständnis der wichtigsten Unterschiede Python vs. C: Verständnis der wichtigsten Unterschiede Apr 21, 2025 am 12:18 AM

Python und C haben jeweils ihre eigenen Vorteile, und die Wahl sollte auf Projektanforderungen beruhen. 1) Python ist aufgrund seiner prägnanten Syntax und der dynamischen Typisierung für die schnelle Entwicklung und Datenverarbeitung geeignet. 2) C ist aufgrund seiner statischen Tipp- und manuellen Speicherverwaltung für hohe Leistung und Systemprogrammierung geeignet.

Python lernen: Ist 2 Stunden tägliches Studium ausreichend? Python lernen: Ist 2 Stunden tägliches Studium ausreichend? Apr 18, 2025 am 12:22 AM

Ist es genug, um Python für zwei Stunden am Tag zu lernen? Es hängt von Ihren Zielen und Lernmethoden ab. 1) Entwickeln Sie einen klaren Lernplan, 2) Wählen Sie geeignete Lernressourcen und -methoden aus, 3) praktizieren und prüfen und konsolidieren Sie praktische Praxis und Überprüfung und konsolidieren Sie und Sie können die Grundkenntnisse und die erweiterten Funktionen von Python während dieser Zeit nach und nach beherrschen.

Welches ist Teil der Python Standard Library: Listen oder Arrays? Welches ist Teil der Python Standard Library: Listen oder Arrays? Apr 27, 2025 am 12:03 AM

PythonlistsarePartThestandardlibrary, whilearraysarenot.listarebuilt-in, vielseitig und UNDUSEDFORSPORINGECollections, während dieArrayRay-thearrayModulei und loses und loses und losesaluseduetolimitedFunctionality.

Python: Automatisierung, Skript- und Aufgabenverwaltung Python: Automatisierung, Skript- und Aufgabenverwaltung Apr 16, 2025 am 12:14 AM

Python zeichnet sich in Automatisierung, Skript und Aufgabenverwaltung aus. 1) Automatisierung: Die Sicherungssicherung wird durch Standardbibliotheken wie OS und Shutil realisiert. 2) Skriptschreiben: Verwenden Sie die PSUTIL -Bibliothek, um die Systemressourcen zu überwachen. 3) Aufgabenverwaltung: Verwenden Sie die Zeitplanbibliothek, um Aufgaben zu planen. Die Benutzerfreundlichkeit von Python und die Unterstützung der reichhaltigen Bibliothek machen es zum bevorzugten Werkzeug in diesen Bereichen.

Python für die Webentwicklung: Schlüsselanwendungen Python für die Webentwicklung: Schlüsselanwendungen Apr 18, 2025 am 12:20 AM

Zu den wichtigsten Anwendungen von Python in der Webentwicklung gehören die Verwendung von Django- und Flask -Frameworks, API -Entwicklung, Datenanalyse und Visualisierung, maschinelles Lernen und KI sowie Leistungsoptimierung. 1. Django und Flask Framework: Django eignet sich für die schnelle Entwicklung komplexer Anwendungen, und Flask eignet sich für kleine oder hochmobile Projekte. 2. API -Entwicklung: Verwenden Sie Flask oder Djangorestframework, um RESTFUFFUPI zu erstellen. 3. Datenanalyse und Visualisierung: Verwenden Sie Python, um Daten zu verarbeiten und über die Webschnittstelle anzuzeigen. 4. Maschinelles Lernen und KI: Python wird verwendet, um intelligente Webanwendungen zu erstellen. 5. Leistungsoptimierung: optimiert durch asynchrones Programmieren, Caching und Code

See all articles