【jupyter notebook】Kernel errorになってしまった場合の解決方法・対処法

こんにちは、Yoshimiです。

Anacondaをインストールし、早速、Pythonで開発しよう!とjupyter notebookを立ち上げたのも束の間「Kernel error」で実行できない・・・ということがあります。

私の場合は、Anacondaの再インストールで起きました。
仮想環境を複数構築し、その仮想環境内でPythonをインストールしたり、Anacondaを設定したり、Anacondaの設定を変更したり、Anacondaを削除したりして、ファイルでPATHをいじくり回していると「Kernel error」が起こります。

今回は、jupyter notebookのKernel errorの解決方法・対処法を紹介していきます。

「Kernel error」の状況を把握する

jupyter notebookを起動した際、右上に「Kernel error」と表示されるとツールが使えません。


エラー内容を確認してみます。


詳細なエラーコードは以下の通り

Traceback (most recent call last):
  File "/Users/ユーザー名/opt/anaconda3/lib/python3.9/site-packages/tornado/web.py", line 1704, in _execute
    result = await result
  File "/Users/ユーザー名/opt/anaconda3/lib/python3.9/site-packages/tornado/gen.py", line 769, in run
    yielded = self.gen.throw(*exc_info)  # type: ignore
  File "/Users/ユーザー名/opt/anaconda3/lib/python3.9/site-packages/notebook/services/sessions/handlers.py", line 74, in post
    model = yield maybe_future(
  File "/Users/ユーザー名/opt/anaconda3/lib/python3.9/site-packages/tornado/gen.py", line 762, in run
    value = future.result()
  File "/Users/ユーザー名/opt/anaconda3/lib/python3.9/site-packages/tornado/gen.py", line 769, in run
    yielded = self.gen.throw(*exc_info)  # type: ignore
  File "/Users/ユーザー名/opt/anaconda3/lib/python3.9/site-packages/notebook/services/sessions/sessionmanager.py", line 98, in create_session
    kernel_id = yield self.start_kernel_for_session(session_id, path, name, type, kernel_name)
  File "/Users/ユーザー名/opt/anaconda3/lib/python3.9/site-packages/tornado/gen.py", line 762, in run
    value = future.result()
  File "/Users/ユーザー名/opt/anaconda3/lib/python3.9/site-packages/tornado/gen.py", line 769, in run
    yielded = self.gen.throw(*exc_info)  # type: ignore
  File "/Users/ユーザー名/opt/anaconda3/lib/python3.9/site-packages/notebook/services/sessions/sessionmanager.py", line 110, in start_kernel_for_session
    kernel_id = yield maybe_future(
  File "/Users/ユーザー名/opt/anaconda3/lib/python3.9/site-packages/tornado/gen.py", line 762, in run
    value = future.result()
  File "/Users/ユーザー名/opt/anaconda3/lib/python3.9/site-packages/notebook/services/kernels/kernelmanager.py", line 176, in start_kernel
    kernel_id = await maybe_future(self.pinned_superclass.start_kernel(self, **kwargs))
  File "/Users/ユーザー名/opt/anaconda3/lib/python3.9/site-packages/jupyter_client/multikernelmanager.py", line 186, in start_kernel
    km.start_kernel(**kwargs)
  File "/Users/ユーザー名/opt/anaconda3/lib/python3.9/site-packages/jupyter_client/manager.py", line 341, in start_kernel
    self.kernel = self._launch_kernel(kernel_cmd, **kw)
  File "/Users/ユーザー名/opt/anaconda3/lib/python3.9/site-packages/jupyter_client/manager.py", line 249, in _launch_kernel
    return launch_kernel(kernel_cmd, **kw)
  File "/Users/ユーザー名/opt/anaconda3/lib/python3.9/site-packages/jupyter_client/launcher.py", line 132, in launch_kernel
    proc = Popen(cmd, **kwargs)
  File "/Users/ユーザー名/opt/anaconda3/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/Users/ユーザー名/opt/anaconda3/lib/python3.9/subprocess.py", line 1821, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/opt/anaconda3/bin/python'

FileNotFoundError: [Errno 2] No such file or directory: '/opt/anaconda3/bin/python'となっており、 「そのようなファイル、又はディレクトリはありません」といわれております。

【jupyter notebook】Kernel errorの解決する手順

実行環境
OS:macOS Big Sur
Anaconda:64-Bit Graphical Installer (515 MB)
Python:3.9

解決方法としては、jupyterのJSONファイルであるkernel.jsonで環境変数の設定を正しいPATHに修正します。

PATHを調べます。
ターミナルで以下のコマンドを実行してください。

$ python

>>> import sys
>>> sys.executable
'/Users/ユーザー名/opt/anaconda3/bin/python'

jupyter notebookのほうのKernel PATHを調べます。

$ jupyter kernelspec list
Available kernels:
  fxapp      /Users/ユーザー名/Library/Jupyter/kernels/fxapp
  python3    /Users/ユーザー名/Library/Jupyter/kernels/python3

「kernel.json」をMacで検索し、修正します。

「kernel.json」をエディタで開きます。

{
 "argv": [
  "/Users/ユーザー名/Library/Jupyter/kernels/python3",←ここをjupyter notebookのほうのKernel PATHに書き換える
  "-m",
  "ipykernel_launcher",
  "-f",
  "{connection_file}"
 ],
 "display_name": "Python 3 (ipykernel)",
 "language": "python",
 "metadata": {
  "debugger": true
 }
}

jupyter notebookを起動してみます。

Kernel errorが消え、実行できるようになりました。


Python勉強したいのであればこれ一択


AIの技術、データ分析を身につけるにはPythonが取り組みやすいです。専門コースもあるので、まずは、気軽に問い合わせしてみてください!
技術者も多くなってきていますが、世界と戦うにはまだまだ人材不足です。高い年収を狙うなら今がチャンス!


フリーランスエンジニアが登録して欲しいエージェント


長くお世話になっているengineer-route。
単価、稼働日数、稼働時間相談も親身にのってくれます。しっかりしたサポート・コミュニケーションを交わすことで「はいってみた違った」というエンジニアあるあるを極力回避できると思います。私は当たりしかないです。