Ubuntu16.04でIPythonを実行するようにJupyterNotebookを設定する方法
序章
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をインストールします。
まず、システムのパッケージインデックスを更新します。 これにより、古いパッケージや古いパッケージがインストールに干渉しないようになります。
- sudo apt-get update
次に、Python 2.7、Python Pip、およびPythonDevelopmentをインストールします。
- sudo apt-get -y install python2.7 python-pip python-dev
インストール python2.7
Python2.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とJupyterNotebookをインストールする
このセクションでは、IpythonとJupyterNotebookをインストールします。
まず、Ipythonをインストールします。
- sudo apt-get -y install ipython ipython-notebook
これで、JupyterNotebookのインストールに進むことができます。
- 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—JupyterNotebookを実行する
これで、JupyterNotebookを実行するために必要なものがすべて揃いました。 実行するには、次のコマンドを実行します。
- jupyter notebook
JavaScriptがインストールされているシステムでJupyterを実行している場合でも実行されますが、JupyterNotebookにJavaScriptが必要であるというエラーが表示される場合があります。
OutputJupyter 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はドロップレットの特定のポート(たとえば、 :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コマンドを実行することで実行できます。
- ssh -L 8000:localhost:8888 your_server_username@your_server_ip
The ssh
コマンドはSSH接続を開きますが、 -L
ローカル(クライアント)ホストの指定されたポートがリモート側(ドロップレット)の指定されたホストとポートに転送されることを指定します。 これは、2番目のポート番号で実行されているものはすべて(つまり、 8888
)ドロップレットの最初のポート番号に表示されます(つまり 8000
)ローカルコンピュータ上。 変更する必要があります 8888
JupyterNotebookが実行されているポートへ。 オプションでポートを変更します 8000
選択したものの1つに(たとえば、 8000
別のプロセスで使用されます)。 以上のポートを使用する 8000
(すなわち 8001
, 8002
、など)別のプロセスですでに使用されているポートを使用しないようにします。 server_username
あなたのユーザー名です(すなわち sammy)作成したドロップレットと your_server_ip
ドロップレットのIPアドレスです。 たとえば、ユーザー名の場合 sammy
およびサーバーアドレス 111.111.111.111
、コマンドは次のようになります。
- ssh -L 8000:localhost:8888 sammy@111.111.111.111
実行後にエラーが表示されない場合 ssh -L
コマンドを実行すると、JupyterNotebookを実行できます。
- jupyter notebook
次に、ローカルマシンのWebブラウザーから、JupyterNotebookWebインターフェイスを開きます。 http://localhost:8000
(または選択したポート番号)。
WindowsとPuttyを使用したSSHトンネリング
Windowsを使用している場合は、 DigitalOcean Droplets(Windowsユーザー)でPuTTYでSSHキーを使用する方法で概説されているように、Puttyを使用してSSHトンネルを簡単に作成することもできます。
まず、次のように、ホスト名としてサーバーのURLまたはIPアドレスを入力します。
次に、左ペインの下部にある SSH をクリックしてメニューを展開し、トンネルをクリックします。 ローカルマシンでJupyterにアクセスするために使用するローカルポート番号を入力します。 選ぶ 8000
以上(すなわち 8001
, 8002
、など)他のサービスによって使用されるポートを回避し、宛先を次のように設定します。 localhost:8888
どこ :8888
JupyterNotebookが実行されているポートの番号です。 次に、追加ボタンをクリックすると、ポートが転送ポートリストに表示されます。
最後に、 Open ボタンをクリックして、SSH経由でサーバーに接続し、目的のポートをトンネリングします。 案内する http://localhost:8000
サーバー上で実行されているJupyterNotebookに接続するためのWebブラウザー(または選択したポート)。
ステップ5—JupyterNotebookを使用する
このセクションでは、JupyterNotebookの使用の基本について説明します。 この時点で、Jupyter Notebookが実行されているはずであり、Webブラウザーを使用して接続されているはずです。 Jupyter Notebookは非常に強力で、多くの機能を備えています。 このセクションでは、ノートブックの使用を開始するための基本的な機能のいくつかについて概説します。 自動的に、Jupyter Notebookは、実行元のディレクトリ内のすべてのファイルとフォルダーを表示します。
新しいノートブックファイルを作成するには、右上のプルダウンメニューから New > Python2を選択します。
これにより、ノートブックが開きます。 これで、セルでPythonコードを実行したり、セルをマークダウンに変更したりできます。 たとえば、上部のナビゲーションバーからセル>セルタイプ>マークダウンをクリックして、最初のセルを変更してマークダウンを受け入れます。 Markdownを使用してメモを記述できるようになりました。また、LaTeXで記述された方程式を、 $$
シンボル。 たとえば、セルをマークダウンに変更した後、セルに次のように入力します。
# Simple Equation
Let us now implement the following equation:
$$ y = x^2$$
where $x = 2$
マークダウンをリッチテキストに変換するには、を押します CTRL+ENTER
、および次の結果が得られるはずです。
マークダウンセルを使用して、メモを作成し、コードを文書化できます。 その簡単な方程式を実装して、結果を出力してみましょう。 Insert > Insert CellBelow を選択してセルを挿入し、次のコードを入力します。
x = 2
y = x*x
print y
コードを実行するには、を押します CTRL+ENTER
. 結果は次のようになります。
これで、他のPython開発環境と同じように、ライブラリを含めてノートブックを使用できるようになりました。
結論
おめでとう! これで、Droplet上で実行されているJupyterノートブックを使用してマークダウンを使用して再現可能なPythonコードとメモを記述できるようになります。 Jupyterノートブックのクイックツアーを取得するには、上部のナビゲーションメニューからヘルプ>ユーザーインターフェイスツアーを選択します。