简体   繁体   中英

Unable to start ipython kernel Python 3.8.5

I am unable to start my notebook on my newly installed python environment. The kernel fails to start giving me this error:

Traceback (most recent call last):
  File "/home/doctoq/Desktop/Dev/Policy-Gradient/venv/lib/python3.8/site-packages/tornado/web.py", line 1704, in _execute
    result = await result
  File "/home/doctoq/Desktop/Dev/Policy-Gradient/venv/lib/python3.8/site-packages/tornado/gen.py", line 769, in run
    yielded = self.gen.throw(*exc_info)  # type: ignore
  File "/home/doctoq/Desktop/Dev/Policy-Gradient/venv/lib/python3.8/site-packages/notebook/services/sessions/handlers.py", line 69, in post
    model = yield maybe_future(
  File "/home/doctoq/Desktop/Dev/Policy-Gradient/venv/lib/python3.8/site-packages/tornado/gen.py", line 762, in run
    value = future.result()
  File "/home/doctoq/Desktop/Dev/Policy-Gradient/venv/lib/python3.8/site-packages/tornado/gen.py", line 769, in run
    yielded = self.gen.throw(*exc_info)  # type: ignore
  File "/home/doctoq/Desktop/Dev/Policy-Gradient/venv/lib/python3.8/site-packages/notebook/services/sessions/sessionmanager.py", line 88, in create_session
    kernel_id = yield self.start_kernel_for_session(session_id, path, name, type, kernel_name)
  File "/home/doctoq/Desktop/Dev/Policy-Gradient/venv/lib/python3.8/site-packages/tornado/gen.py", line 762, in run
    value = future.result()
  File "/home/doctoq/Desktop/Dev/Policy-Gradient/venv/lib/python3.8/site-packages/tornado/gen.py", line 769, in run
    yielded = self.gen.throw(*exc_info)  # type: ignore
  File "/home/doctoq/Desktop/Dev/Policy-Gradient/venv/lib/python3.8/site-packages/notebook/services/sessions/sessionmanager.py", line 100, in start_kernel_for_session
    kernel_id = yield maybe_future(
  File "/home/doctoq/Desktop/Dev/Policy-Gradient/venv/lib/python3.8/site-packages/tornado/gen.py", line 762, in run
    value = future.result()
  File "/home/doctoq/Desktop/Dev/Policy-Gradient/venv/lib/python3.8/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 "/home/doctoq/Desktop/Dev/Policy-Gradient/venv/lib/python3.8/site-packages/jupyter_client/multikernelmanager.py", line 184, in start_kernel
    km, kernel_name, kernel_id = self.pre_start_kernel(kernel_name, kwargs)
  File "/home/doctoq/Desktop/Dev/Policy-Gradient/venv/lib/python3.8/site-packages/jupyter_client/multikernelmanager.py", line 169, in pre_start_kernel
    km = self.kernel_manager_factory(connection_file=os.path.join(
  File "/home/doctoq/Desktop/Dev/Policy-Gradient/venv/lib/python3.8/site-packages/jupyter_client/multikernelmanager.py", line 83, in create_kernel_manager
    km = kernel_manager_ctor(*args, **kwargs)
  File "/home/doctoq/Desktop/Dev/Policy-Gradient/venv/lib/python3.8/site-packages/traitlets/config/configurable.py", line 82, in __init__
    super(Configurable, self).__init__(**kwargs)
  File "/home/doctoq/Desktop/Dev/Policy-Gradient/venv/lib/python3.8/site-packages/traitlets/traitlets.py", line 1080, in __init__
    super_kwargs[key] = value
  File "/usr/lib/python3.8/contextlib.py", line 120, in __exit__
    next(self.gen)
  File "/home/doctoq/Desktop/Dev/Policy-Gradient/venv/lib/python3.8/site-packages/traitlets/traitlets.py", line 1214, in hold_trait_notifications
    self.notify_change(change)
  File "/home/doctoq/Desktop/Dev/Policy-Gradient/venv/lib/python3.8/site-packages/traitlets/traitlets.py", line 1227, in notify_change
    return self._notify_observers(change)
  File "/home/doctoq/Desktop/Dev/Policy-Gradient/venv/lib/python3.8/site-packages/traitlets/traitlets.py", line 1264, in _notify_observers
    c(event)
  File "/home/doctoq/Desktop/Dev/Policy-Gradient/venv/lib/python3.8/site-packages/traitlets/traitlets.py", line 888, in compatible_observer
    return func(self, change)
TypeError: _kernel_spec_manager_changed() takes 1 positional argument but 2 were given

I'm on Ubuntu 20.04 with python 3.8.5. I've only installed 'notebook' with pip (20.3.3) and get this error when opening a new notebook.

Here's my package list:

(venv) doctoq:Policy-Gradient$ pip list
Package             Version
------------------- -------
argon2-cffi         20.1.0
async-generator     1.10
attrs               20.3.0
backcall            0.2.0
bleach              3.2.1
cffi                1.14.4
decorator           4.4.2
defusedxml          0.6.0
entrypoints         0.3
ipykernel           5.4.2
ipython             7.19.0
ipython-genutils    0.2.0
jedi                0.17.2
Jinja2              2.11.2
jsonschema          3.2.0
jupyter-client      6.1.9
jupyter-core        4.7.0
jupyterlab-pygments 0.1.2
MarkupSafe          1.1.1
mistune             0.8.4
nbclient            0.5.1
nbconvert           6.0.7
nbformat            5.0.8
nest-asyncio        1.4.3
notebook            6.1.6
packaging           20.8
pandocfilters       1.4.3
parso               0.7.1
pexpect             4.8.0
pickleshare         0.7.5
pip                 20.3.3
prometheus-client   0.9.0
prompt-toolkit      3.0.9
ptyprocess          0.7.0
pycparser           2.20
Pygments            2.7.3
pyparsing           2.4.7
pyrsistent          0.17.3
python-dateutil     2.8.1
pyzmq               20.0.0
Send2Trash          1.5.0
setuptools          51.1.1
six                 1.15.0
terminado           0.9.2
testpath            0.4.4
tornado             6.1
traitlets           5.0.5
wcwidth             0.2.5
webencodings        0.5.1
wheel               0.36.1

I can't find this issue anywhere. I tried installing older versions of 'notebook' and 'traitlets' but I get the same issue.

Does anyone have an idea? Thanks!

I installed notebook for my main python (not in virtual environment) and found out that the problem occurred only when I was starting a notebook using the python from my virtual environment.

So I followed instructions in this link: https://janakiev.com/blog/jupyter-virtual-envs/

In my virtual environment, I only runned pip install ipykernel and now it works.

The weird thing is that now I can run notebooks in other virtual environments without installing ipykernel in them. I guess installing ipykernel in my first virtual environment changed something in my main notebook installation and now it works for all. Maybe someone could explain it better than me though.

Anyway problem solved for me!

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM