序章

IPythonは、Pythonへのインタラクティブなコマンドラインインターフェイスです。 Jupyter Notebookは、IPythonを含む多くの言語へのインタラクティブなWebインターフェイスを提供します。

この記事では、Jupyter Notebookを実行するためのサーバーのセットアップと、ノートブックへの接続方法と使用方法について説明します。 Jupyterノートブック(または単にノートブック)は、Jupyter Notebookアプリによって生成されたドキュメントであり、両方のコンピューターコードが含まれています(例: Python)と、再現性のある調査の提示に役立つリッチテキスト要素(段落、方程式、図、リンクなど)。

このガイドの終わりまでに、リモートサーバーで実行されているIpythonとJupyterNotebookを使用してPython2.7コードを実行できるようになります。 このチュートリアルでは、データサイエンス、科学計算、および高性能コンピューティングライブラリの多くが3.0以降ではなく2.7をサポートしているため、Python 2(2.7.x)を使用します。

前提条件

このチュートリアルに従うには、次のものが必要です。

  • Ubuntu16.04ドロップレット
  • sudo権限を持つroot以外のユーザー( Ubuntu 16.04 を使用した初期サーバーセットアップでは、これをセットアップする方法について説明しています。)

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

ステップ1—Python2.7とPipをインストールする

このセクションでは、Python2.7とPipをインストールします。

まず、システムのパッケージインデックスを更新します。 これにより、古いパッケージや古いパッケージがインストールに干渉しないようになります。

  1. sudo apt-get update

次に、Python 2.7、Python Pip、およびPythonDevelopmentをインストールします。

  1. sudo apt-get -y install python2.7 python-pip python-dev

python2.7をインストールすると、最新バージョンのPython 2.7に更新され、python-pipをインストールすると、使用するPythonパッケージを管理できるPipがインストールされます。 Jupyterの依存関係の一部はコンパイルが必要な場合があります。その場合、Python C拡張機能をコンパイルする機能が必要になるため、python-devもインストールします。

Pythonがインストールされていることを確認するには:

  1. python --version

これは出力します:

Output
Python 2.7.11+

Python 2.7の最新バージョンによっては、出力が異なる場合があります。

次のコマンドを使用して、pipがインストールされているかどうかを確認することもできます。

  1. pip --version

次のようなものが必要です。

Output
pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)

同様に、pipのバージョンによっては、出力がわずかに異なる場合があります。

ステップ2—IpythonとJupyterNotebookをインストールする

このセクションでは、IpythonとJupyterNotebookをインストールします。

まず、Ipythonをインストールします。

  1. sudo apt-get -y install ipython ipython-notebook

これで、JupyterNotebookのインストールに進むことができます。

  1. sudo -H pip install jupyter

Ubuntu apt-getリポジトリにあるpipのバージョンによっては、Jupyterをインストールしようとすると次のエラーが発生する場合があります。

Output
You are using pip version 8.1.1, however version 8.1.2 is available. You should consider upgrading via the 'pip install --upgrade pip' command.

その場合は、pipを使用してpipを最新バージョンにアップグレードできます。

  1. sudo -H pip install --upgrade pip

pipをアップグレードしてから、Jupyterのインストールを再試行してください。

  1. sudo -H pip install jupyter

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

これで、JupyterNotebookを実行するために必要なものがすべて揃いました。 実行するには、次のコマンドを実行します。

  1. jupyter notebook

JavaScriptがインストールされているシステムでJupyterを実行している場合でも実行されますが、JupyterNotebookにJavaScriptが必要であるというエラーが表示される場合があります。

Output
Jupyter Notebook requires JavaScript. Please enable it to proceed. ...

エラーを無視するには、Qを押してから、Yを押して確認します。

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

(ドロップレットではなく)ローカルLinuxコンピューターでJupyter Notebookを実行している場合は、localhost:8888に移動するだけでJupyterNotebookに接続できます。 ドロップレットでJupyterNotebookを実行している場合は、次のセクションで概説するように、SSHトンネリングを使用してサーバーに接続する必要があります。

この時点で、SSH接続を開いたままにしてJupyter Notebookを実行し続けるか、SSHトンネリングを設定したらアプリを終了して再実行することができます。 シンプルに保ち、JupyterNotebookプロセスを停止しましょう。 SSHトンネリングが機能するようになったら、再度実行します。 Jupyter Notebookプロセスを停止するには、CTRL+Cを押し、Yと入力し、ENTERを押して確認します。 以下が表示されます。

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

ステップ4—SSHトンネリングを使用したサーバーへの接続

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

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

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

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

SSHトンネリングは、次のSSHコマンドを実行することで実行できます。

  1. ssh -L 8000:localhost:8888 your_server_username@your_server_ip

sshコマンドはSSH接続を開きますが、-L は、ローカル(クライアント)ホストの指定されたポートがリモート側(ドロップレット)の指定されたホストとポートに転送されることを指定します。 これは、2番目のポート番号で実行されているものはすべて(つまり、 ドロップレットの8888)は、最初のポート番号(つまり、 ローカルコンピュータの8000)。 8888をJupyterNotebookが実行されているポートに変更する必要があります。 オプションで、ポート8000を選択したものに変更します(たとえば、8000が別のプロセスで使用されている場合)。 8000以上のポート(つまり、80018002など)を使用して、別のプロセスですでに使用されているポートを使用しないようにします。 server_usernameはユーザー名です(つまり sammy)を作成したドロップレットで、your_server_ipはドロップレットのIPアドレスです。 たとえば、ユーザー名sammyとサーバーアドレス111.111.111.111の場合、コマンドは次のようになります。

  1. ssh -L 8000:localhost:8888 sammy@111.111.111.111

ssh -Lコマンドを実行してもエラーが表示されない場合は、JupyterNotebookを実行できます。

  1. jupyter notebook

次に、ローカルマシンのWebブラウザーから、http://localhost:8000(または選択したポート番号)を使用してJupyterNotebookWebインターフェイスを開きます。

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

Windowsを使用している場合は、 DigitalOcean Droplets(Windowsユーザー)でPuTTYでSSHキーを使用する方法で概説されているように、Puttyを使用してSSHトンネルを簡単に作成することもできます。

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

Set Hostname for SSH Tunnel

次に、左ペインの下部にある SSH をクリックしてメニューを展開し、トンネルをクリックします。 ローカルマシンでJupyterにアクセスするために使用するローカルポート番号を入力します。 8000以上(80018002など)を選択して、他のサービスで使用されるポートを回避し、宛先をlocalhost:8888に設定します。ここで[X143X ]