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 Pythonによる決定係数の計算4 相関係数 目的 前回、あるデータXからデータYの関係を単回帰による線形方程式で表すことを行いました。ただし、これはあく …

VSCodeから外部のJupyterへ接続する

Contents1 目的2 環境3 Step1 : Jupyterのconfig設定4 Step2 : VSCodeからの接続5 Step3 : Jupyterを使用して確認6 まとめ 目的 自端末の …

【Python】単回帰の計算と表示

Contents1 目的2 回帰の式3 単回帰とは?4 最小二乗法5 pythonによる実装6 注意点 目的 ある得られたデータをもとに、今後発生するデータが何かを予測したいという場合があります。例え …

【Python】Windowsにpytorchをpipでインストールする

Contents1 概要2 環境3 Step1 : Pytorchのpipコマンドの入手4 Step2 : pipインストール5 Step3 : importして確認6 おまけ:アンインストールすると …

【Python】pandas dateframeで日時を日付と時間に分ける

Contents1 元データ2 日付と時刻にばらすコード 元データ このようなデータフレームがあり、日付と時刻にばらしたい場合の話。 import pandas as pd import dateti …

言語切り替え

カテゴリー