$ jupyter notebook
でJupyter Notebookを起動したところ、
- コードを入力し、Ctrl + Enter を押してもコードが実行されない
- Jupyter Notebookの右側に
connected
が青点滅している
ことがありました。
その時の対応をメモします。
目次
環境
- Mac OSX 10.11.6
- Anaconda 3.5.1
- pyenvでインストール
調査
Jupyter Notebookを起動したターミナルを見ると、以下のエラーが繰り返し出ていました。
[I 10:04:58.541 NotebookApp] Adapting to protocol v5.1 for kernel b8c41504-eb3c-4aa2-b879-c650ba061127 [E 10:04:58.542 NotebookApp] Uncaught exception in /api/kernels/b8c41504-eb3c-4aa2-b879-c650ba061127/channels Traceback (most recent call last): File "/Users/foo/.pyenv/versions/anaconda3-5.1.0/envs/jupyterbook-env/lib/python3.6/site-packages/tornado/websocket.py", line 498, in _run_callback result = callback(*args, **kwargs) File "/Users/foo/.pyenv/versions/anaconda3-5.1.0/envs/jupyterbook-env/lib/python3.6/site-packages/notebook/services/kernels/handlers.py", line 262, in open super(ZMQChannelsHandler, self).open() File "/Users/foo/.pyenv/versions/anaconda3-5.1.0/envs/jupyterbook-env/lib/python3.6/site-packages/notebook/base/zmqhandlers.py", line 176, in open self.send_ping, self.ping_interval, io_loop=loop, TypeError: __init__() got an unexpected keyword argument 'io_loop'
このエラーを調べたところ、GitHubのissueに情報がありました。
Unable to start Jupyter · Issue #3202 · jupyter/notebook
For now, you'll need to downgrade to tornado 4.x. We'll be making a new notebook release soon that avoids this error.
https://github.com/jupyter/notebook/issues/3202#issuecomment-357199274
とのことです。
そのため、 conda list
で手元のtornadoのバージョンを調べてみました。
$ conda list # packages in environment at /Users/foo/.pyenv/versions/anaconda3-5.1.0/envs/jupyterbook-env: # # Name Version Build Channel ... tornado 5.0.2 py36h1de35cc_0 ...
tornadoは5系でした。
対応
tornadoを4系の最新版にします。
https://pypi.org/project/tornado/#history
$ conda install tornado=4.5.3
Jupyter Notebookを起動します。
$ jupyter notebook
コマンドを実行してみると、問題なく動作しました。ターミナルにもエラーが出ていません。