Jupyter Notebook Broken by Python 3.5

2019-06-18 18:51发布

问题:

When I updated my Python version from 3.4 to 3.5 (on Mac El Capitan), I reinstalled Jupyter but when I run it and create a new Python 3 notebook, it immediately tells me that there has been a kernel error and if I click on this, then I get this error message:

Traceback (most recent call last):   File
"/usr/local/lib/python3.5/site-packages/notebook/base/handlers.py",
line 436, in wrapper
    result = yield gen.maybe_future(method(self, *args, **kwargs))   File
"/usr/local/lib/python3.5/site-packages/notebook/services/sessions/handlers.py",
line 56, in post
    model = sm.create_session(path=path, kernel_name=kernel_name)   File
"/usr/local/lib/python3.5/site-packages/notebook/services/sessions/sessionmanager.py",
line 66, in create_session
    kernel_name=kernel_name)   File "/usr/local/lib/python3.5/site-packages/notebook/services/kernels/kernelmanager.py",
line 84, in start_kernel
    **kwargs)   File "/usr/local/lib/python3.5/site-packages/jupyter_client/multikernelmanager.py",
line 109, in start_kernel
    km.start_kernel(**kwargs)   File "/usr/local/lib/python3.5/site-packages/jupyter_client/manager.py",
line 244, in start_kernel
    **kw)   File "/usr/local/lib/python3.5/site-packages/jupyter_client/manager.py",
line 190, in _launch_kernel
    return launch_kernel(kernel_cmd, **kw)   File "/usr/local/lib/python3.5/site-packages/jupyter_client/launcher.py",
line 123, in launch_kernel
    proc = Popen(cmd, **kwargs)   File "/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5/lib/python3.5/subprocess.py",
line 950, in __init__
    restore_signals, start_new_session)   File "/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5/lib/python3.5/subprocess.py",
line 1540, in _execute_child
    raise child_exception_type(errno_num, err_msg) FileNotFoundError: [Errno 2] No such file or directory:
'/usr/local/opt/python3/bin/python3.4'

I understand that the upgrade from 3.4 to 3.5 meant that packages would be installed in different places, but I can't work out what it is looking for in the Python 3.5 packages when I already ran pip3 install jupyter again (and been uninstalling/reinstalling several times). Does anyone know of a fix for this?

回答1:

There is a leftover kernelspec for IPython pointing to your Python 3.4. You can see existing kernelspecs with:

jupyter kernelspec list

You can install a new IPython kernelspec with

ipython kernelspec install [--user]


回答2:

I encountered the same problem as you did. I uninstalled python 3 and reinstalled it.

Then type:

pip3 install jupyter ipython

This gave me access to jupyter notebook but there was still kernel error. Then I typed:

python -m ipykernel install --user

It solved my problem.