こんにちは、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が消え、実行できるようになりました。