marorikaのブログ

読書とパソコンが好きなシステムエンジニアのブログ

Jupyter Notebookのブラウザ起動エラーの解消方法

データ分析を行いたかったのでAnacondaをインストールしました。
Anacondaと同時にインストールされるJupyter Notebookを起動しようとしたところ、エラーが出たので解消方法を記載します。

【環境】
macOS Sierra 10.12.5
Python 3.6.0
Anaconda 4.3.1
Jupyter 4.2.1

ターミナル上で‘Jupyter Notebook‘とすると、正常であればブラウザが立ち上がるのですが、以下のエラーが出てきました。

0:97: execution error: “http://localhost:8888/tree?token=***” doesn’t understand the “open location” message. (-1708)

海外の記事によると、エラーの理由は「Pythonライブラリーの問題が特定のmacOSバージョンで顕在化するため」とかなんとか。。。

github.com

とにかく解消方法なのですが、Juypter Notebookにブラウザをしっかり認識させてあげれば良いのですが、大きく2つの方法があります!

  1. システムの環境変数でブラウザを認識させて上げる方法
  2. Jupyter NotebookのConfigファイルにブラウザを指定する方法

個人的には、あまり環境変数を汚したくないので、二つ目の方をおすすめします。

システムの環境変数でブラウザを認識させて上げる方法

ターミナルから以下のコマンドを打ちます。
export BROWSER=open >> ~/.bash_profile

これがだめなら以下、(chromeの場合しかわかりませんが。。。)
export BROWSER=/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome >> ~/.bash_profile

これでもだめなら次の方法を試してみてください。

Jupyter NotebookのConfigファイルにブラウザを指定する方法

まず、Jupyter NotebookのConfigファイルがあるかどうかを確認する必要があります。 Configファイルのある場所ですが、
「ホームディレクトリ/.jupyter/jupyter_notebook_config.py」に有るはずです。 無い場合の作成方法ですが、ターミナルで以下を入力すれば作成されます。
jupyter notebook --generate-config

Configファイルが有ることを確認したら、Configファイルの中身を編集していきます。 Configファイルに以下を追記します。

ブラウザがchromeの場合
c.NotebookApp.browser = u'chrome'

ブラウザがsafariの場合
c.NotebookApp.browser = u'safari'

これでうまくブラウザが起動するようになれば、めでたしです。