ホームページ >バックエンド開発 >Python チュートリアル >Jupyter と Kotlin を使用したノートブックの作成
最近、私は Kotlin の世界に飛び込み始めました。Kotlin は、私の注目を集めた現代的で多用途なプログラミング言語です。しかし、迅速な反復と流動的なコード探索を可能にする Jupyter のインタラクティブ環境に慣れている者として、Kotlin にも同様のものが存在するのではないかと疑問に思っていました。
嬉しいことに、Kotlin 用の Jupyter カーネルがあることを発見しました。このツールは、Kotlin のパワーと優雅さと、Jupyter のインタラクティブ性と使いやすさを組み合わせて、言語を学習し実験するための理想的な開発環境を作成します。
この投稿では、Kotlin をサポートする Jupyter 環境をセットアップした私の経験を共有します。また、さらに一歩進んで、複数の言語を同時に操作できるノートブックを作成します。
Jupyter 用の Kotlin カーネルのインストールは、特に Docker を使用して制御された再現可能な環境を作成する場合は比較的簡単です。この目的のために作成した 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
このコマンド:
実行すると、ブラウザで JupyterLab にアクセスできるようになり、Launcher に Python と Kotlin の 2 つのカーネルがすでに利用可能であることがわかります。
そして実際、Kotlin でノートブックを作成できるようになりました!
Kotlin を深く理解しているうちに、Python との興味深い類似点がいくつかあることに気づきました。このため、これらの類似点をより詳細に視覚化し、2 つの言語を直接比較したいと考えるようになりました。同じノートブック上で Python と Kotlin のコードを実行できるのではないかと考えましたが、それが可能であることがわかりました。
私は、この機能を可能にする SoS (Script of Scripts) と呼ばれる拡張機能 (および Jupyter カーネル) を発見しました。 Kotlin カーネルを使用してコンテナに追加することにしました。 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 つのカーネルが利用可能であることがわかります。
これで、Python と 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"
多言語カーネルの使用中に、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 サイトの他の関連記事を参照してください。