ホームページ > バックエンド開発 > Python チュートリアル > Jupyter と Kotlin を使用したノートブックの作成

Jupyter と Kotlin を使用したノートブックの作成

Linda Hamilton
リリース: 2025-01-07 06:25:43
オリジナル
544 人が閲覧しました

導入

最近、私は Kotlin の世界に飛び込み始めました。Kotlin は、私の注目を集めた現代的で多用途なプログラミング言語です。しかし、迅速な反復と流動的なコード探索を可能にする Jupyter のインタラクティブ環境に慣れている者として、Kotlin にも同様のものが存在するのではないかと疑問に思っていました。

嬉しいことに、Kotlin 用の Jupyter カーネルがあることを発見しました。このツールは、Kotlin のパワーと優雅さと、Jupyter のインタラクティブ性と使いやすさを組み合わせて、言語を学習し実験するための理想的な開発環境を作成します。

この投稿では、Kotlin をサポートする Jupyter 環境をセットアップした私の経験を共有します。また、さらに一歩進んで、複数の言語を同時に操作できるノートブックを作成します。

Kotlin でコンテナを作成する

Jupyter 用の Kotlin カーネルのインストールは、特に Docker を使用して制御された再現可能な環境を作成する場合は比較的簡単です。この目的のために作成した Dockerfile を見てみましょう。コメントを確認して各ステップを理解してください。

Dockerfile

まず、quay.io からダウンロードした公式 Jupyter イメージから始めます。再現性を確保するために特定のバージョンを使用し、簡単に識別できるようにイメージに kotlin-kernel というラベルを付けます。

FROM quay.io/jupyter/base-notebook:2024-12-31 AS kotlin-kernel
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

Kotlin の実行に必要な OpenJDK 21 をインストールします。インストールは権限の問題を回避するために root として実行され、イメージのセキュリティを確保するために非 root ユーザーに切り替えられます。

USER root

RUN apt-get update && apt-get -y install openjdk-21-jdk

USER jovyan
ログイン後にコピー
ログイン後にコピー

Jupyter 用の Kotlin カーネルをインストールします。これにより、ノートブックで Kotlin コードを実行できるようになります。

RUN pip install --user \
    kotlin-jupyter-kernel==0.12.0.322
ログイン後にコピー
ログイン後にコピー

ノートブックを保存するディレクトリを作成します。

RUN mkdir -p /home/jovyan/notebooks
ログイン後にコピー
ログイン後にコピー

最後に、NOTEBOOK_ARGS 環境変数を確立します。これにより、必要なオプションを使用してノートブックを構成できるようになります。この場合、ブラウザーが自動的に開かないようにして、ノートブックのディレクトリを /home/jovyan/ にします。ノート

ENV NOTEBOOK_ARGS="--no-browser --notebook-dir=/home/jovyan/notebooks"
ログイン後にコピー
ログイン後にコピー

Docker イメージを構築するには、次のコマンドを実行します。

docker build --target kotlin-kernel -t kotlin-kernel .
ログイン後にコピー

このコマンドは Docker イメージを構築し、それに kotlin-kernel としてタグ付けします。

コンテナを実行するには:

docker run \
    -it \
    -p 8888:8888 \
    -v $(pwd)/notebooks:/home/jovyan/notebooks \
    kotlin-kernel
ログイン後にコピー

このコマンド:

  • 対話モード (-it) でコンテナーを実行します。
  • コンテナのポート 8888 をホストのポート 8888 にマッピングします (-p 8888:8888)。
  • ローカルのノートブック ディレクトリをコンテナの :/home/jovyan/notebooks ディレクトリにマウントします (-v $(pwd)/notebooks::/home/jovyan/notebooks)。

実行すると、ブラウザで JupyterLab にアクセスできるようになり、Launcher に Python と Kotlin の 2 つのカーネルがすでに利用可能であることがわかります。

Creando un notebook con Jupyter y Kotlin

そして実際、Kotlin でノートブックを作成できるようになりました!

Creando un notebook con Jupyter y Kotlin

インタラクティブ性の次のステップ

Kotlin を深く理解しているうちに、Python との興味深い類似点がいくつかあることに気づきました。このため、これらの類似点をより詳細に視覚化し、2 つの言語を直接比較したいと考えるようになりました。同じノートブック上で Python と Kotlin のコードを実行できるのではないかと考えましたが、それが可能であることがわかりました。

私は、この機能を可能にする SoS (Script of Scripts) と呼ばれる拡張機能 (および Jupyter カーネル) を発見しました。 Kotlin カーネルを使用してコンテナに追加することにしました。 Dockerfile への追加は次のとおりです:

Dockerfileの更新

SoS をインストールすると、同じノートブックで Python と Kotlin コードを実行できるようになります。

FROM quay.io/jupyter/base-notebook:2024-12-31 AS kotlin-kernel
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

これらの追加により、改善されたコンテナを構築して実行できるようになりました。

USER root

RUN apt-get update && apt-get -y install openjdk-21-jdk

USER jovyan
ログイン後にコピー
ログイン後にコピー

ここで JupyterLab にアクセスすると、Python、Kotlin、SoS の 3 つのカーネルが利用可能であることがわかります。

Creando un notebook con Jupyter y Kotlin

これで、Python と Kotlin コードを同じノートブックで実行できるようになりました。

Creando un notebook con Jupyter y Kotlin

追加のカスタマイズ

視覚エクスペリエンスを向上させ、異なる言語のセルを簡単に区別するために、セルの外観をカスタマイズすることにしました。

Jupyter Notebook ではカスタム CSS を追加でき、言語に応じて各セルの左側にグラデーションを追加できます。

私が使用した CSS は次のとおりです:

RUN pip install --user \
    kotlin-jupyter-kernel==0.12.0.322
ログイン後にコピー
ログイン後にコピー

このカスタマイズを実装するために、CSS をcustom.css というファイルに保存し、Dockerfile に追加しました。

RUN mkdir -p /home/jovyan/notebooks
ログイン後にコピー
ログイン後にコピー

さらに、実行コマンドに --custom-css フラグを追加して、このカスタム CSS を使用することを jupyter lab コマンドに指定する必要があります。

ENV NOTEBOOK_ARGS="--no-browser --notebook-dir=/home/jovyan/notebooks"
ログイン後にコピー
ログイン後にコピー

Creando un notebook con Jupyter y Kotlin

エラーとそれを非表示にする方法

多言語カーネルの使用中に、Kotlin セルを実行するとエラーが表示されることがあります。このエラーはランダムに表示され、原因や最終的な解決方法はまだ特定できていませんが、ユーザー エクスペリエンスを向上させるための一時的な解決策を見つけました。

Creando un notebook con Jupyter y Kotlin

この迷惑なエラーを隠すために、CSS を使用することにしました。上記のcustom.cssファイルに次の行を追加しました:

FROM quay.io/jupyter/base-notebook:2024-12-31 AS kotlin-kernel
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

CSS のこの行は、ノートブック内の Kotlin 固有のエラー メッセージを非表示にします。重要なエラーが隠れてしまう可能性があるため、これは理想的なソリューションではありませんが、Kotlin ノートブックを操作するとき、特にこの繰り返し発生する一見無害なエラーに対処するときの視覚的なエクスペリエンスが大幅に向上します。

結論

この投稿では、Jupyter Notebook を使用して Kotlin のインタラクティブな開発環境を作成する方法を検討しました。

Kotlin をサポートする Docker コンテナの基本的なセットアップから始めて、同じノートブック内で複数の言語でコードを実行できる、より洗練された環境に移行します。

さらに、視覚的なエクスペリエンスと読みやすさを向上させるためにノートブックの外観をカスタマイズする方法と、これらのノートブックの使用中に発生する可能性のある一般的なエラーを「非表示」する方法についても説明しました。

これにより、Kotlin の学習が容易になるだけでなく、Python などの他の言語と直接比較できるようになり、Kotlin に移行する開発者や定期的に複数のプログラミング言語を使用する開発者にとって非常に役立ちます。

追加のリソース

この環境をさらに探索したり複製したりすることに興味がある人のために、このプロジェクトで使用されているすべてのコードを私の GitHub リポジトリで利用できるようにしました。

このガイドが Kotlin と Jupyter の学習に役立つことを願っています。

以上がJupyter と Kotlin を使用したノートブックの作成の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート