Ubuntu 18.04でPython 3を使用してJupyterノートブックをセットアップする方法

前書き

オープンソースのWebアプリケーション、http://jupyter.org/ [Jupyter Notebook]を使用すると、インタラクティブなコード、視覚化などを作成して共有できます。 このツールは、Python、Julia、R、Haskell、Rubyなどのいくつかのプログラミング言語で使用できます。 多くの場合、データの操作、統計モデリング、機械学習に使用されます。

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

このガイドの最後までに、リモートサーバーで実行されているJupyter Notebookを使用してPython 3コードを実行できるようになります。

前提条件

このガイドを完了するには、基本的なファイアウォールを備えた新しいUbuntu 18.04サーバーインスタンスと、sudo権限が設定された非rootユーザーが必要です。 https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-18-04 [サーバーの初期セットアップチュートリアル]を実行すると、これを設定する方法を学ぶことができます。

ステップ1-Pythonのセットアップ

プロセスを開始するには、Pythonプログラミング環境に必要な依存関係をUbuntuリポジトリからインストールします。 Ubuntu 18.04にはPython 3.6がプリインストールされています。 Pythonパッケージマネージャーのpipを使用して、後ほど追加のコンポーネントをインストールします。

最初にローカルの `+ apt +`パッケージインデックスを更新し、次にパッケージをダウンロードしてインストールする必要があります。

sudo apt update

次に、pipとPythonヘッダーファイルをインストールします。これらはJupyterの依存関係の一部で使用されます。

sudo apt install python3-pip python3-dev

これで、JupyterをインストールするPython仮想環境のセットアップに進むことができます。

ステップ2-Jupyter用のPython仮想環境を作成する

Python 3、ヘッダーファイル、およびpipの準備が整ったので、プロジェクトを管理するためのPython仮想環境を作成できます。 Jupyterをこの仮想環境にインストールします。

これを行うには、最初にpipでインストールできる `+ virtualenv +`コマンドにアクセスする必要があります。

次を入力して、pipをアップグレードし、パッケージをインストールします。

sudo -H pip3 install --upgrade pip
sudo -H pip3 install virtualenv

`+ -H `フラグは、セキュリティポリシーが ` home +`環境変数をターゲットユーザーのホームディレクトリに設定することを保証します。

`+ virtualenv `をインストールすると、環境の形成を開始できます。 プロジェクトファイルを保持できるディレクトリを作成して移動します。 これを「 my_project_dir +」と呼びますが、あなたとあなたが取り組んでいるものにとって意味のある名前を使用する必要があります。

mkdir ~/
cd ~/

プロジェクトディレクトリ内に、Python仮想環境を作成します。 このチュートリアルでは、「+ my_project_env +」と呼びますが、プロジェクトに関連するものを呼び出す必要があります。

virtualenv

これにより、「」ディレクトリ内に「」というディレクトリが作成されます。 内部では、Pythonのローカルバージョンとpipのローカルバージョンがインストールされます。 これを使用して、Jupyter用の分離されたPython環境をインストールおよび構成できます。

Jupyterをインストールする前に、仮想環境をアクティブ化する必要があります。 次のように入力して、それを行うことができます。

source /bin/activate

プロンプトが変わり、Python仮想環境内で操作していることを示す必要があります。 次のようになります: +()@:〜/ $ +

これで、Jupyterをこの仮想環境にインストールする準備が整いました。

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

仮想環境をアクティブにして、pipのローカルインスタンスでJupyterをインストールします。

pip install jupyter

この時点で、Jupyterの実行に必要なすべてのソフトウェアが正常にインストールされました。 これで、ノートブックサーバーを起動できます。

ステップ4-Jupyter Notebookを実行する

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

jupyter notebook

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

Output[I 21:23:21.198 NotebookApp] Writing notebook server cookie secret to /run/user/1001/jupyter/notebook_cookie_secret
[I 21:23:21.361 NotebookApp] Serving notebooks from local directory: /home//
[I 21:23:21.361 NotebookApp] The Jupyter Notebook is running at:
[I 21:23:21.361 NotebookApp] http://localhost:/?token=
[I 21:23:21.361 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 21:23:21.361 NotebookApp] No web browser found: could not locate runnable browser.
[C 21:23:21.361 NotebookApp]

   Copy/paste this URL into your browser when you connect for the first time,
   to login with a token:
       http://localhost:/?token=

Jupyter Notebookをローカルサーバー(サーバーではなく)で実行している場合、表示されたURLに移動してJupyter Notebookに接続できます。 サーバーでJupyter Notebookを実行している場合は、次のセクションで説明するように、SSHトンネリングを使用してサーバーに接続する必要があります。

この時点で、SSH接続を開いたままにしてJupyter Notebookを実行したままにするか、SSHトンネリングを設定したらアプリを終了して再実行できます。 Jupyter Notebookプロセスを停止することにします。 SSHトンネリングを設定したら、再度実行します。 Jupyter Notebookプロセスを停止するには、 `+ CTRL + C `を押し、 ` Y `を入力して、 ` ENTER +`を確認します。 次の出力が表示されます。

Output[C 21:28:28.512 NotebookApp] Shutdown confirmed
[I 21:28:28.512 NotebookApp] Shutting down 0 kernels

ここで、ノートブックにアクセスできるようにSSHトンネルを設定します。

手順5-SSHトンネリングを使用してサーバーに接続する

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

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

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

MacまたはLinuxを使用している場合、SSHトンネルを作成する手順は、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.putty.org/ [Putty]を使用してSSHトンネルを作成できます。

まず、次のようにホスト名としてサーバーの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+」でプロンプトが表示されたらトークン番号文字列を入力します。

ステップ6-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]で記述された方程式を `+ $$ +`シンボルの間に入れることで含めることもできます。 たとえば、マークダウンに変更した後、セルに次を入力します。

# First Equation

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

where $x = 2$

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

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

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

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

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

image:https://assets.digitalocean.com/articles/jupyter_notebook/jupyter_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/tutorials/data-analysis-and-visualization-with-pandas-and-jupyter-notebook-in-python-を読むことで、データ分析と視覚化プロジェクトを開始できます3 [Python 3のパンダとJupyterノートブックを使用したデータ分析と視覚化]。

さらに掘り下げたい場合は、https://www.digitalocean.com/community/tutorial_series/time-series-visualization-and-forecasting [時系列の視覚化と予測]でシリーズを読むことができます。

Related