紹介
Jupyter Notebookは、ウェブアプリケーションとしての対話型コンピューティング用のコマンドシェルを提供します。このツールは、Python、Julia、R、Haskell、Rubyなど、いくつかの言語と一緒に使用できます。データの操作、統計モデリング、機械学習などでよく使われます。
このチュートリアルでは、Jupyter Notebookをローカルで実行する方法とUbuntu 22.04サーバーから実行する方法について説明し、ノートブックへの接続と使用方法を教えます。Jupyterノートブック(または単にノートブック)は、Jupyter Notebookアプリケーションによって生成されるドキュメントで、コンピューターコードとリッチテキスト要素(段落、数式、図、リンクなど)の両方を含み、再現可能な研究の提示と共有を支援します。
このガイドの最後までに、ローカルマシンまたはリモートサーバーで実行されているJupyter Notebookを使用してPython 3コードを実行できるようになります。
前提条件
このチュートリアルに従うには、Python 3プログラミング環境とPythonのvenv
モジュールが必要です。
このチュートリアルのすべてのコマンドは、sudo
の前に、非ルートユーザーとして実行する必要があります。コマンドに root アクセスが必要な場合は、Ubuntu 22.04 での初期サーバー設定でユーザーを追加して sudo アクセスを付与する方法が説明されています。
ステップ 1 — Jupyter Notebook のインストール
このセクションでは、pip
を使用して Jupyter Notebook をインストールします。
インストールする Python 3 プログラミング環境をアクティブにします。例では、my_env
にインストールしますので、その環境のディレクトリに移動して次のようにアクティブにします:
次に、pip
が最新バージョンにアップグレードされていることを確認します:
これで、次のコマンドを使用して Jupyter Notebook をインストールできます:
この時点で、Jupyter Notebook が現在のプログラミング環境にインストールされます。
次のオプションのステップは、SSH トンネリングを使用して Web インターフェースのサーバーインストールに接続している場合のみ適用されます。
ステップ2(オプション)— サーバーインストールに接続するためのSSHトンネリングの使用
リモートサーバーにJupyter Notebookをインストールした場合、SSHトンネリングを使用してJupyter NotebookのWebインターフェイスに接続する必要があります。Jupyter Notebookは、リモートサーバー上の特定のポート(たとえば、:8888
、:8889
など)でブラウザインターフェイスを実行しますが、デフォルトでは広域Webに公開されていません。SSHトンネリングを使用すると、リモートサーバーのポートに安全に接続し、そのポートをローカルのウェブブラウザでアクセスできます。
これらの手順は、ローカルのターミナルウィンドウから実行するように設計されています。つまり、サーバーに接続したターミナルではありません。
SSHトンネリング
Windowsを使用している場合は、ターミナルからssh
を実行するためにOpenSSHのバージョンをインストールする必要があります。PowerShellで作業する場合は、Microsoftのドキュメントに従ってPowerShellにOpenSSHを追加できます。完全なLinux環境を利用したい場合は、WSL(Windows Subsystem for Linux)をセットアップすることができ、これにはデフォルトでssh
が含まれます。最後に、軽量な第三のオプションとして、Git for Windowsをインストールすることができます。これは、ssh
コマンドを含むネイティブのWindows bashターミナル環境を提供します。これらのいずれもがよくサポートされており、使用するかどうかは好みによるものです。
MacまたはLinuxを使用している場合は、既にターミナルでssh
コマンドを利用できます。
SSHトンネリングの手順は、SSHでDropletsに接続する方法ガイドと似ていますが、ssh
コマンドに追加のパラメーターが追加されています。このサブセクションでは、成功裏にトンネルを作成するためにssh
コマンドで必要な追加のパラメーターを概説します。
新しいローカルターミナルウィンドウで以下のSSHコマンドを実行することで、SSHトンネリングを行うことができます。
ssh
コマンドはSSH接続を開きますが、-L
は指定されたローカル(クライアント)ホスト上のポートがリモート側(サーバー)の指定されたホストとポートに転送されることを指定します。つまり、サーバー上の2番目のポート番号(例:8888
)で実行されているものが、ローカルコンピューター上の最初のポート番号(例:8888
)に表示されます。
ポート8888
が利用できないというメッセージを受け取った場合、65535以下の別の任意のポート番号に変更できます。ポート8888には重要な意味はありませんが、このようなデモによく使用されます。
server_username
はサーバー上のユーザー名(例:sammy)であり、your_server_ip
はサーバーのIPアドレスです。
たとえば、ユーザー名がsammy
でサーバーアドレスがyour_server_ip
の場合、コマンドは次のようになります:
ssh -L
コマンドを実行した後にエラーが表示されない場合、プログラミング環境に移動してJupyter Notebookを実行できます:
URLが含まれた出力が表示されます。ローカルマシンのウェブブラウザーから、URLがhttp://localhost:8888
で始まるJupyter NotebookのWebインターフェースを開きます。トークン番号が含まれていることを確認するか、http://localhost:8888
でプロンプトが表示された場合は、トークン番号文字列を入力してください。
ステップ3 — Jupyter Notebookの実行
Jupyter Notebookがインストールされている場合、ターミナルで実行できます。これを行うには、次のコマンドを実行します:
A log of the activities of the Jupyter Notebook will be printed to the terminal. When you run Jupyter Notebook, it runs on a specific port number. The first notebook you are running will usually run on port 8888
. To check the specific port number Jupyter Notebook is running on, refer to the output of the command used to start it:
Output[I NotebookApp] Serving notebooks from local directory: /home/sammy
[I NotebookApp] 0 active kernels
[I NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/
[I NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
...
ローカルコンピューターでJupyter Notebookを実行している場合(サーバーではない場合)、デフォルトのブラウザーがJupyter Notebook Webアプリを開くはずです。そうでない場合、またはウィンドウを閉じた場合は、出力に提供されたURLに移動するか、localhost:8888
に移動して接続できます。
Jupyter Notebookプロセスを停止したい場合は、いつでもCtrl+C
を押し、プロンプトが表示されたらY
を入力し、Enter
を押して確認します。
次の出力が表示されます:
Output[C 12:32:23.792 NotebookApp] Shutdown confirmed
[I 12:32:23.794 NotebookApp] Shutting down kernels
Jupyter Notebookはもはや実行されていません。
ステップ4 — Jupyter Notebookの使用
このセクションでは、Jupyter Notebookの基本的な使用方法について説明します。現在Jupyter Notebookが実行されていない場合は、jupyter notebook
コマンドで起動してください。
今、ウェブブラウザを使用してそれに接続する必要があります。 Jupyter Notebookは非常に強力で多機能です。このセクションでは、ノートブックを使用するための基本的な機能のいくつかを概説します。Jupyter Notebookは実行されているディレクトリ内のすべてのファイルとフォルダを表示するので、プロジェクトで作業するときはプロジェクトディレクトリから開始するようにしてください。
新しいノートブックファイルを作成するには、右上のプルダウンメニューから新規 > Python 3を選択します。
これにより、ノートブックが開きます。これで、セルでPythonコードを実行したり、セルをMarkdownに変更したりできます。たとえば、最初のセルをMarkdownで受け入れるように変更するには、トップナビゲーションバーからセル > セルタイプ > Markdownをクリックします。Markdownを使用してメモを書いたり、LaTeXで書かれた式を$$
の間に入れて含めたりすることができます。たとえば、以下のように変更したセルに次のように入力します。
# 単純な方程式
Let us now implement the following equation:
$$ y = x^2$$
where $x = 2$
マークダウンをリッチテキストに変換するには、Ctrl+Enter
を押し、以下の結果が表示されます。
マークダウンセルを使用してノートを作成し、コードをドキュメント化できます。この単純な方程式を実装し、結果を出力しましょう。トップセルをクリックし、次にAlt+Enter
を押してその下にセルを追加します。新しいセルに次のコードを入力してください。
コードを実行するには、Ctrl+Enter
を押します。以下の結果が表示されます。
今では、モジュールをインポートして、ノートブックを他のPython開発環境と同様に使用することができます!
Jupyterノートブックサーバーをサーバーサイドでシャットダウンするには、それを開始したターミナルウィンドウに戻り、Ctrl+Cを押します。これは端末プロセスを終了する標準的なショートカットであり、Jupyterは終了する前に保存するように促します。
結論
おめでとうございます!これで、Jupyter Notebookを使用して再現可能なPythonコードとメモを書くことができるはずです。インターフェース内からJupyter Notebookのクイックツアーを取得するには、上部ナビゲーションメニューからヘルプ > ユーザーインターフェースツアーを選択して詳細を学習してください。
ここからは、時系列データの可視化と予測に関するシリーズを読むことに興味があるかもしれません。
Source:
https://www.digitalocean.com/community/tutorials/how-to-set-up-jupyter-notebook-for-python-3