jupyter notebook が起動しない時の対処方法

jupyter notebook が以下のエラーを出して起動しない場合の対処法

  File "*********/.local/lib/python3.7/site-packages/tornado/netutil.py", line 174, in bind_sockets
    sock.bind(sockaddr)
OSError: [Errno 99] Cannot assign requested address

とりあえず回避する方法

オプションを付与すれば起動する

jupyter-notebook --ip='127.0.0.1' 

根本的に解決する方法

このエラーは "localhost" のIPアドレスを正しく検出できない時に発生する.

その原因は,多くの場合 /etc/hosts の記述ミス.

具体例を挙げると,例えば以下の/etc/hostsでこのエラーが再現する

ダメな/etc/hostsの例(その1)
127.0.0.0.1       localhost 

IPアドレスが間違っている.ただしくは 127.0.0.1

この場合は /etc/hosts を修正すれば jupyter notebook は起動するようになる

ダメな/etc/hostsの例(その2)
127.0.0.1       localhost 
::1             localhost 

この場合,jupyter-notebook は ::1 つまり IPv6のアドレスを使用する.

そしてシステム側で IPv6を無効にしている場合,エラーがでる

対処方法は

  • 1) /etc/hosts は変更せず,IPv6を有効にする
  • 2) /etc/hostsからIPv6の方のエントリを消す

のどちらか