Ubuntu22.04でPython3用のJupyterNotebookをセットアップする方法

提供:Dev Guides
移動先:案内検索

序章

Jupyter Notebook は、Webアプリケーションとしてインタラクティブコンピューティング用のコマンドシェルを提供します。 このツールは、Python、Julia、R、Haskell、Rubyなどのいくつかの言語で使用できます。 多くの場合、データの操作、統計モデリング、機械学習に使用されます。

このチュートリアルでは、ローカルまたはUbuntu22.04サーバーから実行するようにJupyterNotebookを設定する方法と、ノートブックに接続して使用する方法について説明します。 Jupyterノートブック(または単にノートブック)は、Jupyter Notebookアプリによって作成されたドキュメントであり、コンピューターコードと、再現可能な調査の提示と共有に役立つリッチテキスト要素(段落、方程式、図、リンクなど)の両方が含まれています。

このガイドの終わりまでに、ローカルマシンまたはリモートサーバーで実行されているJupyterNotebookを使用してPython3コードを実行できるようになります。

前提条件

このチュートリアルに従うには、Python3プログラミング環境が必要です。

このチュートリアルのすべてのコマンドは、root以外のユーザーとして実行する必要があります。 コマンドにルートアクセスが必要な場合は、その前にsudoが付きます。 Ubuntu 22.04を使用したサーバーの初期設定では、ユーザーを追加してsudoアクセスを許可する方法について説明しています。

ステップ1—JupyterNotebookをインストールする

このセクションでは、pipを使用してJupyterNotebookをインストールします。

JupyterNotebookをインストールするPython3プログラミング環境をアクティブ化します。 この例では、my_envにインストールするので、その環境のディレクトリにいることを確認し、次のようにアクティブ化します。

cd ~/environments
. my_env/bin/activate

次に、pipが最新バージョンにアップグレードされていることを確認できます。

pip install --upgrade pip

これで、次のコマンドを使用してJupyterNotebookをインストールできます。

pip install jupyter

この時点で、JupyterNotebookが現在のプログラミング環境にインストールされます。

次のオプションの手順は、SSHトンネリングを使用してWebインターフェイスのサーバーインストールに接続する場合です。

ステップ2(オプション)—SSHトンネリングを使用したサーバーインストールへの接続

サーバーにJupyterNotebookをインストールした場合、このセクションでは、SSHトンネリングを使用してJupyterNotebookWebインターフェースに接続する方法を学習します。 Jupyter Notebookはサーバーの特定のポート(:8888:8889など)で実行されるため、SSHトンネリングを使用するとサーバーのポートに安全に接続できます。

これらの命令は、ローカルターミナルウィンドウから実行するように設計されていることに注意してください。つまり、サーバーに接続しているウィンドウから実行することはできません。

SSHトンネリング

Windowsを使用している場合、端末からsshを実行できるようにするには、OpenSSHのバージョンをインストールする必要があります。 PowerShellで作業する場合は、 Microsoftのドキュメントに従って、PowerShellにOpenSSHを追加できます。 完全なLinux環境を利用したい場合は、Linux用のWindowsサブシステムであるWSLセットアップできます。これにはデフォルトでsshが含まれます。 最後に、軽量の3番目のオプションとして、 Git for Windows をインストールできます。これは、sshコマンドを含むネイティブのWindowsbashターミナル環境を提供します。 これらはそれぞれ十分にサポートされており、どちらを使用するかは好みに応じて決まります。

MacまたはLinuxを使用している場合は、ターミナルでsshコマンドを使用できます。

SSHトンネルを作成する手順は、 SSH ガイドを使用してドロップレットに接続する方法と似ていますが、sshコマンドに追加のパラメーターが追加されている点が異なります。 このサブセクションでは、sshコマンドで正常にトンネリングするために必要な追加パラメーターの概要を説明します。

SSHトンネリングは、新しいローカルターミナルウィンドウで次のSSHコマンドを実行することで実行できます。

ssh -L 8888:localhost:8888 your_server_username@your_server_ip

sshコマンドはSSH接続を開きますが、-L は、ローカル(クライアント)ホストの指定されたポートがリモート側(サーバー)の指定されたホストとポートに転送されることを指定します。 これは、2番目のポート番号で実行されているものはすべて(例: サーバー上の8888)は、最初のポート番号に表示されます(例: ローカルコンピュータの8888)。

ポート8888が使用できないというメッセージを受け取った場合は、65535未満の別の任意のポート番号に変更できます。 ポート8888には重要な意味はありませんが、このようなデモでよく使用されます。

server_usernameはユーザー名です(例: 作成したサーバーのsammy)であり、your_server_ipはサーバーのIPアドレスです。

たとえば、ユーザー名sammyとサーバーアドレス203.0.113.0の場合、コマンドは次のようになります。

ssh -L 8888:localhost:8888 [email protected]

ssh -Lコマンドを実行してもエラーが表示されない場合は、プログラミング環境に移動してJupyterNotebookを実行できます。

jupyter notebook

URL付きの出力を受け取ります。 ローカルマシンのWebブラウザーから、http://localhost:8888で始まるURLを使用してJupyterNotebookWebインターフェイスを開きます。 トークン番号が含まれていることを確認するか、http://localhost:8888でプロンプトが表示されたらトークン番号の文字列を入力します。

ステップ3—JupyterNotebookを実行する

Jupyter Notebookをインストールすると、ターミナルで実行できます。 これを行うには、次のコマンドを実行します。

jupyter notebook

JupyterNotebookのアクティビティのログが端末に印刷されます。 Jupyter Notebookを実行すると、特定のポート番号で実行されます。 実行している最初のノートブックは通常、ポート8888で実行されます。 Jupyter Notebookが実行されている特定のポート番号を確認するには、JupyterNotebookを起動するために使用したコマンドの出力を参照してください。

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).
...

サーバーではなくローカルコンピューターでJupyterNotebookを実行している場合は、デフォルトのブラウザーでJupyterNotebookWebアプリが開いているはずです。 そうでない場合、またはウィンドウを閉じる場合は、出力で提供される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

JupyterNotebookは実行されなくなりました。

ステップ4—JupyterNotebookを使用する

このセクションでは、JupyterNotebookの使用の基本について説明します。 現在JupyterNotebookを実行していない場合は、jupyter notebookコマンドで起動します。

これで、Webブラウザを使用して接続する必要があります。 Jupyter Notebookは非常に強力で、多くの機能を備えています。 このセクションでは、ノートブックの使用を開始するための基本的な機能のいくつかについて概説します。 Jupyter Notebookは、実行元のディレクトリ内のすべてのファイルとフォルダーを表示するため、プロジェクトで作業しているときは、必ずプロジェクトディレクトリから開始してください。

新しいノートブックファイルを作成するには、右上のプルダウンメニューから New > Python3を選択します。

これにより、ノートブックが開きます。 これで、セルでPythonコードを実行したり、セルをマークダウンに変更したりできます。 たとえば、上部のナビゲーションバーからセル>セルタイプ>マークダウンをクリックして、最初のセルを変更してマークダウンを受け入れます。 Markdownを使用してメモを記述できるようになりました。また、[X116X] 記号の間に配置することで、LaTeXで記述された方程式を含めることもできます。 たとえば、セルをマークダウンに変更した後、セルに次のように入力します。

# Simple Equation

Let us now implement the following equation:
$$ y = x^2$$

where $x = 2$

マークダウンをリッチテキストに変換するには、Ctrl+Enterを押すと、次のような結果になります。

マークダウンセルを使用して、メモを作成し、コードを文書化できます。 その簡単な方程式を実装して、結果を出力してみましょう。 一番上のセルをクリックし、Alt+Enterを押して、その下にセルを追加します。 新しいセルに次のコードを入力します。

x = 2
y = x**2
print(y)

コードを実行するには、Ctrl+Enterを押します。 次の結果が表示されます。

これで、モジュールをインポートして、他のPython開発環境と同じようにノートブックを使用できるようになりました。

Jupyterノートブックのサーバー側をシャットダウンするには、起動したターミナルウィンドウに戻り、Ctrl+Cを押します。 これはターミナルプロセスを終了するための標準的なショートカットであり、Jupyterは終了する前に保存するように求めます。

結論

おめでとう! これで、Jupyter Notebookを使用して、再現可能なPythonコードとメモをMarkdownで記述できるようになります。 インターフェイス内からJupyterNotebookのクイックツアーを取得するには、上部のナビゲーションメニューからヘルプ>ユーザーインターフェイスツアーを選択して詳細を確認してください。

ここから、時系列の視覚化と予測に関するシリーズを読むことに興味があるかもしれません。