Python 3用のJupyter Notebookのセットアップ方法

前書き

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

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

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

前提条件

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

このチュートリアルのすべてのコマンドは、非rootユーザーとして実行する必要があります。 コマンドにルートアクセスが必要な場合は、その前にsudoが付きます。 Initial Server Setup with Ubuntu 18.04は、ユーザーを追加してsudoアクセスを許可する方法を説明しています。

[[step-1 -—- installing-jupyter-notebook]] ==ステップ1— JupyterNotebookのインストール

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

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

cd ~/environments
. my_env/bin/activate

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

pip install --upgrade pip

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

pip install jupyter

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

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

[[step-2-optional --- using-ssh-tunneling-to-connect-to-a-server-installation]] ==ステップ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トンネルを作成する手順は、sshコマンドに追加のパラメーターが追加されていることを除いて、How To Use SSH Keys with DigitalOcean Droplets using Linux or Macガイドと同様です。 このサブセクションでは、正常にトンネリングするためにsshコマンドで必要な追加パラメーターの概要を説明します。

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

ssh -L 8888:localhost:8888 your_server_username@your_server_ip

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

オプションで、ポート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を使用してJupyter NotebookWebインターフェイスを開きます。 トークン番号が含まれていることを確認するか、http://localhost:8888でプロンプトが表示されたらトークン番号の文字列を入力します。

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

Windowsを使用している場合は、How To Use SSH Keys with PuTTY on DigitalOcean Droplets (Windows users)で概説されているように、Puttyを使用してSSHトンネルを作成できます。

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

Set Hostname for SSH Tunnel

次に、左ペインの下部にあるSSHをクリックしてメニューを展開し、Tunnelsをクリックします。 ローカルマシンのJupyterへのアクセスに使用するローカルポート番号を入力します。 他のサービスによって使用されるポートを回避するには、8000以上を選択し、宛先をlocalhost:8888として設定します。:8888は、JupyterNotebookが実行されているポートの番号です。

次に、Addボタンをクリックすると、ポートがForwarded portsリストに表示されます。

Forwarded ports list

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

[[step-3 -—- running-jupyter-notebook]] ==ステップ3— JupyterNotebookの実行

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

jupyter notebook

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

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を押し、プロンプトが表示されたら%(​​t1)sと入力し、ENTERを押して確認します。

次の出力が表示されます。

Output[C 12:32:23.792 NotebookApp] Shutdown confirmed
[I 12:32:23.794 NotebookApp] Shutting down kernels

Jupyter Notebookは現在実行されていません。

[[step-4 -—- using-jupyter-notebook]] ==ステップ4— JupyterNotebookを使用する

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

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

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

Create a new Python 3 notebook

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

# Simple Equation

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

where $x = 2$

マークダウンをリッチテキストに変換するには、CTRL+ENTERを押すと、次の結果が得られます。

results of markdown

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

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

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

simple equation results

これで、他のPython開発環境と同じように、import modulesしてノートブックを使用できるようになりました。

結論

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

ここから、Time Series Visualization and Forecastingに関するシリーズを読むことに興味があるかもしれません。

Related