Ubuntu 16.04でIPythonを実行するJupyterノートブックをセットアップする方法

前書き

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

この記事では、サーバーをセットアップしてJupyter Notebookを実行する方法と、ノートブックに接続して使用する方法を説明します。 Jupyterノートブック(または単にノートブック)は、両方のコンピューターコード(例: Python)および再現可能な研究の提示を支援するリッチテキスト要素(段落、方程式、図、リンクなど)。

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

前提条件

このチュートリアルを実行するには、次のものが必要です。

  • Ubuntu 16.04ドロップレット

  • sudo特権を持つ非ルートユーザー(https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-16-04[Ubuntu 16.04での初期サーバーセットアップ]は、このセットアップ方法を説明しています。 )

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

ステップ1-Python 2.7とPipのインストール

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

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

sudo apt-get update

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

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がインストールされていることを確認するには:

python --version

これは出力されます:

OutputPython 2.7.11+

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

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

pip --version

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

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

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

ステップ2-IpythonおよびJupyterノートブックのインストール

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

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

sudo apt-get -y install ipython ipython-notebook

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

sudo -H pip install jupyter

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

OutputYou 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を最新バージョンにアップグレードできます。

sudo -H pip install --upgrade pip

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

sudo -H pip install jupyter

ステップ3-Jupyter Notebookの実行

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

jupyter notebook

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

OutputJupyter Notebook requires JavaScript.
Please enable it to proceed.
...

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

Jupyter Notebookのアクティビティのログが端末に出力されます。 Jupyter Notebookを実行すると、特定のポート番号で実行されます。 実行している最初のノートブックは通常、ポート `++`で実行されます。 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/
[I NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

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

この時点で、SSH接続を開いたままにしてJupyter Notebookを実行したままにするか、SSHトンネリングを設定したらアプリを終了して再実行できます。 シンプルにして、Jupyter Notebookプロセスを停止しましょう。 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トンネリングを使用してJupyter Notebook Webインターフェースに接続する方法を学習します。 Jupyter NotebookはDropletの特定のポート( +:8888 +、 `+:8889 +`など)で実行されているため、SSHトンネリングによりDropletのポートに安全に接続できます。

次の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 `はローカル(クライアント)ホスト上の特定のポートがリモート側(Droplet)上の特定のホストとポートに転送されることを指定します。 これは、2番目のポート番号で実行されているもの(つまり、 ドロップレットの「」)は最初のポート番号に表示されます(つまり、 ローカルコンピューターで「」)。 Jupyter Notebookが実行されているポートに「」を変更する必要があります。 オプションで、ポート ``を選択したものに変更します(たとえば、 ` 8000 `が別のプロセスで使用されている場合)。 「+8000」以上のポート(つまり、「」、「」など)を使用して、別のプロセスですでに使用されているポートを使用しないようにします。 「」はユーザー名です(つまり、 sammy)作成したDropletで、「」はDropletのIPアドレスです。 たとえば、ユーザー名「」とサーバーアドレス「」の場合、コマンドは次のようになります。

ssh -L :localhost: @

`+ ssh -L +`コマンドの実行後にエラーが表示されない場合、Jupyter Notebookを実行できます。

jupyter notebook

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

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

Windowsを使用している場合は、https://www.digitalocean.com/community/tutorials/how-to-use-ssh-keys-with-putty-on-digitaloceanで説明されているように、Puttyを使用してSSHトンネルを簡単に作成することもできます-droplets-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に接続します。

ステップ5-Jupyter Notebookの使用

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

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

image:https://assets.digitalocean.com/articles/jupyter_notebook/create_python2_notebook.png [新しいPython 2ノートブックを作成]

これにより、ノートブックが開きます。 これで、セルで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 +`を押すと、次のようになります。

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

マークダウンセルを使用してメモを作成し、コードを文書化できます。 その簡単な方程式を実装して結果を出力しましょう。 * Insert *> * Insert Below Below *を選択して、セルを挿入し、次のコードを入力します。

x = 2
y = x*x
print y

コードを実行するには、 `+ CTRL + ENTER`を押します。 結果は次のようになります。

image:https://assets.digitalocean.com/articles/jupyter_notebook/equations_results.png [単純な方程式の結果]

他のPython開発環境と同じように、ライブラリを含めてノートブックを使用できるようになりました!

結論

おめでとうございます。 これで、ドロップレットで実行されているJupyterノートブックを使用して、マークダウンを使用して再現可能なPythonコードとノートを作成できるようになります。 Jupyterノートブックのクイックツアーを取得するには、上部のナビゲーションメニューから[ヘルプ]> [ユーザーインターフェイスツアー]を選択します。

Related