前書き

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

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

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

前提条件

このチュートリアルを実行するには、Python 3プログラミング環境が必要です。

このチュートリアルのすべてのコマンドは、非rootユーザーとして実行する必要があります。 コマンドにルートアクセスが必要な場合は、先頭に「+ sudo +」が付きます。 Ubuntu 18.04での初期サーバー設定では、ユーザーを追加してsudoアクセスを許可する方法を説明しています。

ステップ1-Jupyter Notebookのインストール

このセクションでは、Jupyter Notebookを `+ pip +`でインストールします。

Jupyter NotebookをインストールするPython 3プログラミング環境をアクティブにします。 この例では、「++」にインストールするため、その環境のディレクトリにいることを確認し、次のようにアクティブにします。

cd ~/
. /bin/activate

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

pip install --upgrade pip

次のコマンドでJupyter Notebookをインストールできます。

pip install jupyter

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

次のオプションのステップは、SSHトンネリングを使用してWebインターフェースのサーバーインストールに接続するユーザー向けです。

ステップ2(オプション)-SSHトンネリングを使用してサーバーインストールに接続する

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

次の2つのサブセクションでは、1)MacまたはLinuxと2)WindowsからSSHトンネルを作成する方法について説明します。 ローカルコンピュータのサブセクションを参照してください。

MacまたはLinuxでのSSHトンネリング

MacまたはLinuxを使用している場合、SSHトンネルを作成する手順はhttps://www.digitalocean.com/community/tutorials/how-to-use-ssh-keys-with-digitalocean-droplets [ LinuxまたはMacを使用してDigitalOcean DropletsでSSHキーを使用する方法]ガイドは、 `+ ssh `コマンドに追加のパラメーターが追加されていることを除きます。 このサブセクションでは、正常にトンネリングするために ` ssh +`コマンドで必要な追加パラメーターの概要を説明します。

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

ssh -L :localhost: @

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

必要に応じて、ポート `++`を任意のポートに変更して、別のプロセスで既に使用されているポートを使用しないようにします。

「」はユーザー名です(例: )作成したサーバー上で、「」はサーバーのIPアドレスです。

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

ssh -L :localhost: @

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

jupyter notebook

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

WindowsとPuttyを使用したSSHトンネリング

Windowsを使用している場合、https://www.digitalocean.com/community/tutorials/how-to-use-ssh-keys-with-putty-on-digitalocean-dropletsで説明されているように、Puttyを使用してSSHトンネルを作成できます。 -windows-users [DigitalOcean DropletsでPuTTYでSSHキーを使用する方法(Windowsユーザー)]。

まず、次のようにホスト名としてサーバーのURLまたはIPアドレスを入力します。

image:https://assets.digitalocean.com/articles/jupyter_notebook/set_hostname_putty.png [SSHトンネルのホスト名を設定]

次に、左ペインの下部にある[* SSH *]をクリックしてメニューを展開し、[*トンネル]をクリックします。 ローカルマシンのJupyterへのアクセスに使用するローカルポート番号を入力します。 他のサービスで使用されるポートを避けるために「」以上を選択し、宛先を「+ localhost:+」として設定します。「」はJupyter Notebookが実行されているポートの番号です。

[追加]ボタンをクリックすると、ポートが[転送ポート]リストに表示されます。

image:https://assets.digitalocean.com/articles/jupyter_notebook/forwarded_ports_putty.png [転送されたポートのリスト]

最後に、[開く]ボタンをクリックしてSSH経由でサーバーに接続し、目的のポートをトンネルします。 Webブラウザーで + http:// localhost:+(または選択したポート)に移動して、サーバーで実行されているJupyter Notebookに接続します。 トークン番号が含まれていることを確認するか、「+ http:// localhost:8000+」でプロンプトが表示されたらトークン番号文字列を入力します。

ステップ3-Jupyter Notebookの実行

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

jupyter notebook

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

Output[I NotebookApp] Serving notebooks from local directory: /home/
[I NotebookApp] 0 active kernels
[I NotebookApp] The Jupyter Notebook is running at: http://localhost/
[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 +`に移動して接続できます。

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`コマンドで起動します。

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

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

image:https://assets.digitalocean.com/articles/eng_python/JupyterNotebookPy3/jupyter-notebook-new.png [新しいPython 3ノートブックを作成]

これにより、ノートブックが開きます。 これで、セルでPythonコードを実行したり、セルをマークダウンに変更したりできます。 たとえば、トップナビゲーションバーの* Cell *> * Cell Type *> * Markdown *をクリックして、Markdownを受け入れるように最初のセルを変更します。 Markdownを使用してメモを書くことができ、https://www.latex-project.org/ [LaTeX]で記述された方程式を `+ $$ +`シンボルの間に入れることで含めることもできます。 たとえば、マークダウンに変更した後、セルに次を入力します。

# Simple Equation

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

where $x = 2$

マークダウンをリッチテキストにするには、 `+ CTRL + ENTER +`を押すと、次のようになります。

image:https://assets.digitalocean.com/articles/jupyter_notebook/markdown_results.png [マークダウンの結果]

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

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

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

image:https://assets.digitalocean.com/articles/eng_python/JupyterNotebookPy3/jupyter-notebook-md-python.png [単純な方程式の結果]

https://www.digitalocean.com/community/tutorials/how-to-import-modules-in-python-3 [モジュールのインポート]を使用して、他のPython開発環境と同じようにノートブックを使用できるようになりました。 !

結論

おめでとうございます。 これで、Jupyter Notebookを使用して、Markdownで再現可能なPythonコードとノートを作成できるはずです。 インターフェース内からJupyter Notebookのクイックツアーを取得するには、上部のナビゲーションメニューから[ヘルプ]> [ユーザーインターフェースツアー]を選択して詳細を確認します。

ここから、https://www.digitalocean.com/community/tutorial_series/time-series-visualization-and-forecasting [時系列の可視化と予測]でシリーズを読むことに興味があるかもしれません。