Python

WindowsのJupyterに外部からアクセスする

投稿日:

目的

Windows10にインストールしたAnacondaのJupyterサーバに別端末からアクセスするための設定方法について記載する。Anaconda自体のインストール手順については以下で説明しています。

環境

Windows10
Anaconda3 :4.8.2

Step1 : パスワードのハッシュ化

Jupyterを外部向けに公開する場合、パスワードを設定するのが安全です。パスワードはJupyterのconfigファイル内に記載しますが、平文ではなく、ハッシュ化されたパスワードを記載します。そのため、まずはパスワードをハッシュ化します。

まず初めに、ウィンドウズのスタートメニューのAnaconda3の中からAnaconda Promptを起動します。

すると、コマンドプロンプトのような画面が立ち上がります。このAnaconda PromptはAnaconda系の各種コマンドが使用できるようにパスが通ってるコマンドプロンプトのようなものと思っておけばいいです。この画面で以下のようにipythonを起動します。

> ipython

以下のような画面が起動されればOKです。

続いて、ここでパスワードハッシュ化のためのモジュールを呼び出し、パスワードを設定します。

In[1] : from notebook.auth import passwd
In[2] : passwd()
In[3] : Enter password:   #ここに設定するパスワードを入力

パスワードを入力後、Verify passwordと再度入力を求められるので、入力すると、ハッシュ化されたパスワードが表示されます。この文字列を忘れずにメモ帳などにコピペしておきます。

以上で、ハッシュ化されたパスワードの生成は完了です。

Step 2 : configファイルの設定

外部アクセスを許可するためのconfigファイルですが、最初は存在しないため、コマンドで生成します。先ほど同様Anaconda Promptを立ち上げ、今度は以下のコマンドを打ちます。

> jupyter notebook --generate-config

すると、ホームディレクトリ(C:\Users\<あなたのアカウント名>)の.jupyterというフォルダの中にjupyter_notebook_config.pyというファイルが生成されます。

このファイルをノートパッドなどで開き、以下のように編集します。

## The IP address the notebook server will listen on.
c.NotebookApp.ip = '*'  #許可するIPを設定、*はすべてのIPを許可する場合


#  The string should be of the form type:salt:hashed-password.
c.NotebookApp.password = 'sha1:<ハッシュ化されたパスワード>'


## Whether to open in a browser after starting. The specific browser used is
#  platform dependent and determined by the python standard library `webbrowser`
#  module, unless it is overridden using the --browser (NotebookApp.browser)
#  configuration option.
#  サーバ側でJupyter起動時にブラウザを立ち上げない
c.NotebookApp.open_browser = False

上記を保存すれば、configファイルの設定は完了です。

Step3 : Jupyter Notebookの起動

configファイルの設定まで完了したら、いよいよサーバを起動します。Anaconda Promptを立ち上げ、以下のコマンドを入力します。

> jupyter notebook

すると、サーバーが動き出し、途中で以下のようなファイアウォール開放のウィンドウが表示されます。ここで、アクセスする環境に合わせて適切なネットワークを選択し、アクセスを許可するを選択します。なお、ここでキャンセルを押した場合でも、後から手動でファイアウォールの設定を行えば通信できます。

以上でJupyterの設定は完了です。

Step4 : アクセスして確認

ネットワーク上の別端末からブラウザを開き、アドレスバーへhttp:<ホスト名>:8888を入力しEnterを押します。ここでJupyterのログイン画面が表示されますので、Step1で設定したパスワードを入力し、ホームディレクトリが見れれば成功です。

もしアクセスすらできない場合はファイアウォールが悪さをしている可能性があるので、開放しているネットワークなどを今一度確認してみると良いかもしれません。

-Python

執筆者:


  1. […] WindowsのJupyterに外部からアクセスする […]

comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

Python 辞書型の基本

Contents1 目的2 辞書型データの作成3 要素の取り出し4 全キーの取得5 全値の取得6 全キーおよび値の取得7 リスト型から辞書型への変換8 キーの有無確認9 要素の追加10 要素の削除11 …

【Python】dtreeviz使用時にExecutableNotFound: … ,make sure the Graphviz executables are on your systems’ PATHが出たときの対処

Contents1 概要2 症状2.1 結果3 対処その13.1 結果4 対処その24.1 結果5 まとめ 概要 Pythonの決定木の可視化でビジュアルに優れたdtreevizパッケージのメソッドを …

【Python】銀行口座情報の自動取得

Contents1 目的2 開発環境3 selenium のインストール4 Chrome Driverをインストールする5 Pythonスクリプト6 注意点 目的 銀行口座の預金残高を確認したい。でも …

【Python】で調和平均と絶対平均計算

Contents1 目的2 調和平均3 絶対平均 目的 前回、一般的に平均として使われる算術平均に加え、○○率の平均などの計算に向いている幾何平均の定義と計算方法について勉強しました。 今回は、さらに …

【Python】ベイズの定理を実際に試行して確認

Contents1 ベイズの定理とは2 具体的な問題3 Pythonで実際に確認 ベイズの定理とは ある事象について、その原因となる候補(互いに独立)がいくつかあり、それぞれの原因は発生確率を持ってい …

言語切り替え

カテゴリー