How To Set Up a Jupyter Notebook with Python 3 on Debian 10
序章
Jupyter Notebook は、コードを共有および通信できるように、Webアプリケーションとしてインタラクティブコンピューティング用のコマンドシェルを提供します。 このツールは、Python、Julia、R、Haskell、Rubyなどのいくつかの言語で使用できます。 多くの場合、データの操作、統計モデリング、機械学習に使用されます。
このチュートリアルでは、Debian10サーバーから実行するようにJupyterNotebookを設定する方法と、Notebookに接続して使用する方法について説明します。 Jupyter Notebook(または単に「Notebooks」)は、Jupyter Notebookアプリによって作成されたドキュメントであり、再現可能な調査の提示と共有に役立つコンピューターコードとリッチテキスト要素(段落、方程式、図、リンクなど)の両方が含まれています。
このガイドの終わりまでに、リモートのDebian10サーバーで実行されているJupyterNotebookを使用してPython3コードを実行できるようになります。
前提条件
このガイドを完了するには、基本的なファイアウォールを備えた新しいDebian 10サーバーインスタンスと、sudo権限が設定された非rootユーザーが必要です。 Debian 10 を使用した初期サーバー設定ガイドを実行することで、これを設定する方法を学ぶことができます。
ステップ1—PipおよびPythonヘッダーをインストールする
プロセスを開始するには、Debianリポジトリから必要なすべてのアイテムをダウンロードしてインストールします。 Pythonパッケージマネージャーpip
を使用して、少し後で追加のコンポーネントをインストールします。
最初にローカルのapt
パッケージインデックスを更新してから、パッケージをダウンロードしてインストールする必要があります。
- sudo apt update
次に、pip
とPythonヘッダーファイルをインストールします。これらは、Jupyterの依存関係の一部で使用されます。
- sudo apt install python3-pip python3-dev
Debian 10(「バスター」)にはPython3.7がプリインストールされています。
これで、JupyterをインストールするPython仮想環境のセットアップに進むことができます。
ステップ2—Jupyter用のPython仮想環境を作成する
Python 3、そのヘッダーファイル、およびpip
の準備ができたので、管理を容易にするPython仮想環境を作成できます。 この仮想環境にJupyterをインストールします。
これを行うには、最初にvirtualenv
コマンドにアクセスする必要があります。 これはpip
でインストールできます。
pip
をアップグレードし、次のように入力してパッケージをインストールします。
- sudo -H pip3 install --upgrade pip
- sudo -H pip3 install virtualenv
virtualenv
をインストールすると、環境の形成を開始できます。 プロジェクトファイルを保持できるディレクトリを作成して移動します。
- mkdir ~/myprojectdir
- cd ~/myprojectdir
プロジェクトディレクトリ内で、次のように入力してPython仮想環境を作成します。
- virtualenv myprojectenv
これにより、myprojectdir
ディレクトリ内にmyprojectenv
というディレクトリが作成されます。 内部には、Pythonのローカルバージョンとpip
のローカルバージョンがインストールされます。 これを使用して、Jupyter用の分離されたPython環境をインストールおよび構成できます。
Jupyterをインストールする前に、仮想環境をアクティブ化する必要があります。 次のように入力すると、次のように入力できます。
- source myprojectenv/bin/activate
プロンプトが変化して、Python仮想環境内で操作していることを示します。 (myprojectenv)user@host:~/myprojectdir$
のようになります。
これで、Jupyterをこの仮想環境にインストールする準備が整いました。
ステップ3—Jupyterをインストールします
仮想環境をアクティブにして、pip
のローカルインスタンスを使用してJupyterをインストールします。
注:仮想環境がアクティブ化されている場合(プロンプトの前に(myprojectenv)
がある場合)、使用している場合でも、pip3
の代わりにpip
を使用してくださいPython3。 仮想環境のツールのコピーには、Pythonのバージョンに関係なく、常にpip
という名前が付けられます。
- pip install jupyter
この時点で、Jupyterの実行に必要なすべてのソフトウェアが正常にインストールされています。 これで、ノートブックサーバーを起動できます。
ステップ4—JupyterNotebookを実行する
これで、JupyterNotebookを実行するために必要なものがすべて揃いました。 実行するには、次のコマンドを実行します。
- jupyter notebook
JupyterNotebookのアクティビティのログが端末に印刷されます。 Jupyter Notebookを実行すると、特定のポート番号で実行されます。 最初に実行するノートブックは通常、ポート8888
を使用します。 Jupyter Notebookが実行されている特定のポート番号を確認するには、JupyterNotebookを起動するために使用したコマンドの出力を参照してください。
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/sammy/myprojectdir
[I 21:23:21.361 NotebookApp] The Jupyter Notebook is running at:
[I 21:23:21.361 NotebookApp] http://localhost:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72
[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:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72
(ドロップレットではなく)ローカルのDebianコンピューターでJupyter Notebookを実行している場合は、表示されたURLに移動するだけで、JupyterNotebookに接続できます。 ドロップレットでJupyterNotebookを実行している場合は、次のセクションで概説するように、SSHトンネリングを使用してサーバーに接続する必要があります。
この時点で、SSH接続を開いたままにしてJupyter Notebookを実行し続けるか、SSHトンネリングを設定したらアプリを終了して再実行することができます。 シンプルに保ち、JupyterNotebookプロセスを停止しましょう。 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トンネリングを使用してJupyterNotebookWebインターフェースに接続する方法を学習します。 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 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 sammy@203.0.113.0
ssh -L
コマンドを実行してもエラーが表示されない場合は、プログラミング環境に移動してJupyterNotebookを実行できます。
- jupyter notebook
URL付きの出力を受け取ります。 ローカルマシンのWebブラウザーから、http://localhost:8888
で始まるURLを使用してJupyterNotebookWebインターフェイスを開きます。 トークン番号が含まれていることを確認するか、http://localhost:8888
でプロンプトが表示されたらトークン番号の文字列を入力します。
WindowsとPuttyを使用したSSHトンネリング
Windowsを使用している場合は、Puttyを使用してSSHトンネルを作成できます。
まず、次のように、ホスト名としてサーバーのURLまたはIPアドレスを入力します。
次に、左ペインの下部にある SSH をクリックしてメニューを展開し、トンネルをクリックします。 ローカルマシンでJupyterにアクセスするために使用するローカルポート番号を入力します。 他のサービスで使用されるポートを避けるために8000
以上を選択し、宛先をlocalhost:8888
に設定します。ここで、:8888
はJupyterNotebookが実行されているポートの番号です。
次に、追加ボタンをクリックすると、ポートが転送ポートリストに表示されます。
最後に、 Open ボタンをクリックして、SSH経由でサーバーに接続し、目的のポートをトンネリングします。 Webブラウザでhttp://localhost:8000
(または選択したポート)に移動して、サーバーで実行されているJupyterNotebookに接続します。 トークン番号が含まれていることを確認するか、http://localhost:8000
でプロンプトが表示されたらトークン番号の文字列を入力します。
ステップ6—JupyterNotebookを使用する
このセクションでは、JupyterNotebookの使用の基本について説明します。 現在JupyterNotebookを実行していない場合は、jupyter notebook
コマンドで起動します。
これで、Webブラウザを使用して接続する必要があります。 Jupyter Notebookは、多くの機能を備えた非常に強力なツールです。 このセクションでは、ノートブックの使用を開始するためのいくつかの基本機能の概要を説明します。 Jupyter Notebookは、実行元のディレクトリ内のすべてのファイルとフォルダーを表示するため、プロジェクトで作業しているときは、必ずプロジェクトディレクトリから開始してください。
新しいノートブックファイルを作成するには、右上のプルダウンメニューから New > Python3を選択します。
これにより、ノートブックが開きます。 これで、セルでPythonコードを実行したり、セルをマークダウンに変更したりできます。 たとえば、上部のナビゲーションバーからセル>セルタイプ>マークダウンをクリックして、最初のセルを変更してマークダウンを受け入れます。 Markdownを使用してメモを記述できるようになりました。また、[X116X]