uhasker / the-python-minibook

Files for "The Python Minibook"
https://uhasker.github.io/the-python-minibook
9 stars 0 forks source link

Building fails with "Dead kernel" error #2

Closed Zaphoood closed 1 year ago

Zaphoood commented 1 year ago

When trying to build the book using the following commands:

pip install -r requirements.txt
jupyter-book build .

the build fails after raising a DeadKernelError. My OS is Ubuntu 22.04.1 LTS. Python version is 3.10.6.

The complete output is:

Running Jupyter-Book v0.13.1
Source Folder: /home/mathis/titanom/the-python-minibook
Config Path: /home/mathis/titanom/the-python-minibook/_config.yml
Output Path: /home/mathis/titanom/the-python-minibook/_build/html
Running Sphinx v4.5.0
[etoc] Changing master_doc to 'intro'
myst v0.15.2: MdParserConfig(renderer='sphinx', commonmark_only=False, enable_extensions=['colon_fence', 'dollarmath', 'linkify', 'substitution', 'tasklist'], dmath_allow_labels=True, dmath_allow_space=True, dmath_allow_digits=True, dmath_double_inline=False, update_mathjax=True, mathjax_classes='tex2jax_process|mathjax_process|math|output_area', disable_syntax=[], url_schemes=['mailto', 'http', 'https'], heading_anchors=None, heading_slug_func=None, html_meta=[], footnote_transition=True, substitutions=[], sub_delimiters=['{', '}'], words_per_minute=200)
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 307 source files that are out of date
updating environment: [new config] 307 added, 0 changed, 0 removed
Executing: src/1-installation/chapter in: /home/mathis/titanom/the-python-minibook/src/1-installation
Executing: src/2-variables-data-types-and-operators/chapter in: /home/mathis/titanom/the-python-minibook/src/2-variables-data-types-and-operators
Executing: src/3-functions/chapter in: /home/mathis/titanom/the-python-minibook/src/3-functions
Executing: src/4-classes/chapter in: /home/mathis/titanom/the-python-minibook/src/4-classes
Executing: src/5-iterables/chapter in: /home/mathis/titanom/the-python-minibook/src/5-iterables
Executing: src/6-control-flow/chapter in: /home/mathis/titanom/the-python-minibook/src/6-control-flow
Executing: src/7-files/chapter in: /home/mathis/titanom/the-python-minibook/src/7-files
Executing: src/8-modules-and-packages/chapter in: /home/mathis/titanom/the-python-minibook/src/8-modules-and-packages
Executing: src/9-the-project/chapter in: /home/mathis/titanom/the-python-minibook/src/9-the-project
Executing: venv/lib/python3.10/site-packages/jupyter_book/book_template/markdown-notebooks in: /home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/jupyter_book/book_template
Executing: venv/lib/python3.10/site-packages/jupyter_book/book_template/notebooks in: /home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/jupyter_book/book_template
Executing: venv/lib/python3.10/site-packages/matplotlib/backends/web_backend/nbagg_uat in: /home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/matplotlib/backends/web_backend
Executing: venv/lib/python3.10/site-packages/nbclassic/bundler/tests/resources/empty in: /home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/nbclassic/bundler/tests/resources
Executing: venv/lib/python3.10/site-packages/nbclient/tests/files/Autokill in: /home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/nbclient/tests/files
/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/jupyter_book/book_template/intro.md:: WARNING: tableofcontents directive in document with no descendants [etoc.tableofcontents]
/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/jupyter_book/book_template/markdown.md:39: ERROR: Unknown interpreted text role "cite".
/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/jupyter_book/book_template/markdown.md:49: ERROR: Unknown directive type "bibliography".
/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/matplotlib/backends/web_backend/nbagg_uat.ipynb:20002: WARNING: Non-consecutive header level increase; 0 to 2 [myst.header]
/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/matplotlib/backends/web_backend/nbagg_uat.ipynb:330002: WARNING: Non-consecutive header level increase; 0 to 2 [myst.header]

Exception occurred:
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/nbclient/client.py", line 953, in async_execute_cell
    raise DeadKernelError("Kernel died")
nbclient.exceptions.DeadKernelError: Kernel died
The full traceback has been saved in /tmp/sphinx-err-8rwn_mzq.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks!
Traceback (most recent call last):
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/nbclient/client.py", line 730, in _async_poll_for_reply
    msg = await ensure_async(self.kc.shell_channel.get_msg(timeout=new_timeout))
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/nbclient/util.py", line 96, in ensure_async
    result = await obj
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/jupyter_client/channels.py", line 224, in get_msg
    ready = await self.socket.poll(timeout)
asyncio.exceptions.CancelledError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/nbclient/client.py", line 949, in async_execute_cell
    exec_reply = await self.task_poll_for_reply
asyncio.exceptions.CancelledError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/jupyter_book/sphinx.py", line 171, in build_sphinx
    app.build(force_all, filenames)
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/sphinx/application.py", line 330, in build
    self.builder.build_update()
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/sphinx/builders/__init__.py", line 286, in build_update
    self.build(to_build,
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/sphinx/builders/__init__.py", line 300, in build
    updated_docnames = set(self.read())
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/sphinx/builders/__init__.py", line 407, in read
    self._read_serial(docnames)
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/sphinx/builders/__init__.py", line 428, in _read_serial
    self.read_doc(docname)
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/sphinx/builders/__init__.py", line 468, in read_doc
    doctree = read_doc(self.app, self.env, self.env.doc2path(docname))
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/sphinx/io.py", line 181, in read_doc
    pub.publish()
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/docutils/core.py", line 217, in publish
    self.document = self.reader.read(self.source, self.parser,
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/sphinx/io.py", line 101, in read
    self.parse()
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/docutils/readers/__init__.py", line 78, in parse
    self.parser.parse(self.input, document)
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/myst_nb/parser.py", line 67, in parse
    ntbk = generate_notebook_outputs(
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/myst_nb/execution.py", line 137, in generate_notebook_outputs
    result = single_nb_execution(
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/jupyter_cache/executors/utils.py", line 51, in single_nb_execution
    executenb(
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/nbclient/client.py", line 1204, in execute
    return NotebookClient(nb=nb, resources=resources, km=km, **kwargs).execute()
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/nbclient/util.py", line 84, in wrapped
    return just_run(coro(*args, **kwargs))
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/nbclient/util.py", line 62, in just_run
    return loop.run_until_complete(coro)
  File "/usr/lib/python3.10/asyncio/base_events.py", line 646, in run_until_complete
    return future.result()
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/nbclient/client.py", line 663, in async_execute
    await self.async_execute_cell(
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/nbclient/client.py", line 953, in async_execute_cell
    raise DeadKernelError("Kernel died")
nbclient.exceptions.DeadKernelError: Kernel died

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/mathis/titanom/the-python-minibook/venv/bin/jupyter-book", line 8, in <module>
    sys.exit(main())
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/jupyter_book/cli/main.py", line 323, in build
    builder_specific_actions(
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/jupyter_book/cli/main.py", line 531, in builder_specific_actions
    raise RuntimeError(_message_box(msg, color="red", doprint=False)) from result
RuntimeError:
===============================================================================

There was an error in building your book. Look above for the cause.

===============================================================================

The content of /tmp/sphinx-err-8rwn_mzq.log is:

# Sphinx version: 4.5.0
# Python version: 3.10.6 (CPython)
# Docutils version: 0.17.1 release
# Jinja2 version: 3.1.2
# Last messages:
#   reading sources... [ 11%] venv/lib/python3.10/site-packages/matplotlib/backends/web_backend/nbagg_uat
#   Executing: venv/lib/python3.10/site-packages/matplotlib/backends/web_backend/nbagg_uat in: /home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/matplotlib/backends/web_backend
#   reading sources... [ 11%] venv/lib/python3.10/site-packages/mdit_py_plugins/container/README
#   reading sources... [ 12%] venv/lib/python3.10/site-packages/mdit_py_plugins/deflist/README
#   reading sources... [ 12%] venv/lib/python3.10/site-packages/mdit_py_plugins/texmath/README
#   reading sources... [ 12%] venv/lib/python3.10/site-packages/mistune-0.8.4.dist-info/DESCRIPTION
#   reading sources... [ 13%] venv/lib/python3.10/site-packages/nbclassic/bundler/tests/resources/empty
#   Executing: venv/lib/python3.10/site-packages/nbclassic/bundler/tests/resources/empty in: /home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/nbclassic/bundler/tests/resources
#   reading sources... [ 13%] venv/lib/python3.10/site-packages/nbclient/tests/files/Autokill
#   Executing: venv/lib/python3.10/site-packages/nbclient/tests/files/Autokill in: /home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/nbclient/tests/files
# Loaded extensions:
#   sphinx.ext.mathjax (4.5.0) from /home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/sphinx/ext/mathjax.py
#   sphinxcontrib.applehelp (1.0.3) from /home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/sphinxcontrib/applehelp/__init__.py
#   sphinxcontrib.devhelp (1.0.2) from /home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/sphinxcontrib/devhelp/__init__.py
#   sphinxcontrib.htmlhelp (2.0.0) from /home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/sphinxcontrib/htmlhelp/__init__.py
#   sphinxcontrib.serializinghtml (1.1.5) from /home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/sphinxcontrib/serializinghtml/__init__.py
#   sphinxcontrib.qthelp (1.0.3) from /home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/sphinxcontrib/qthelp/__init__.py
#   alabaster (0.7.12) from /home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/alabaster/__init__.py
#   sphinx_togglebutton (0.3.2) from /home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/sphinx_togglebutton/__init__.py
#   sphinx_copybutton (0.5.1) from /home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/sphinx_copybutton/__init__.py
#   myst_nb (0.13.2) from /home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/myst_nb/__init__.py
#   jupyter_book (0.13.1) from /home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/jupyter_book/__init__.py
#   sphinx_thebe (0.1.2) from /home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/sphinx_thebe/__init__.py
#   sphinx_comments (0.0.3) from /home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/sphinx_comments/__init__.py
#   sphinx_external_toc (0.2.4) from /home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/sphinx_external_toc/__init__.py
#   sphinx.ext.intersphinx (4.5.0) from /home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/sphinx/ext/intersphinx.py
#   sphinx_design (0.1.0) from /home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/sphinx_design/__init__.py
#   sphinx_book_theme (unknown version) from /home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/sphinx_book_theme/__init__.py
#   IPython.sphinxext.ipython_console_highlighting (unknown version) from /home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/IPython/sphinxext/ipython_console_highlighting.py
#   sphinx_jupyterbook_latex (unknown version) from /home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/sphinx_jupyterbook_latex/__init__.py
#   pydata_sphinx_theme (unknown version) from /home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/pydata_sphinx_theme/__init__.py
Traceback (most recent call last):
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/nbclient/client.py", line 730, in _async_poll_for_reply
    msg = await ensure_async(self.kc.shell_channel.get_msg(timeout=new_timeout))
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/nbclient/util.py", line 96, in ensure_async
    result = await obj
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/jupyter_client/channels.py", line 224, in get_msg
    ready = await self.socket.poll(timeout)
asyncio.exceptions.CancelledError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/nbclient/client.py", line 949, in async_execute_cell
    exec_reply = await self.task_poll_for_reply
asyncio.exceptions.CancelledError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/jupyter_book/sphinx.py", line 171, in build_sphinx
    app.build(force_all, filenames)
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/sphinx/application.py", line 330, in build
    self.builder.build_update()
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/sphinx/builders/__init__.py", line 286, in build_update
    self.build(to_build,
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/sphinx/builders/__init__.py", line 300, in build
    updated_docnames = set(self.read())
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/sphinx/builders/__init__.py", line 407, in read
    self._read_serial(docnames)
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/sphinx/builders/__init__.py", line 428, in _read_serial
    self.read_doc(docname)
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/sphinx/builders/__init__.py", line 468, in read_doc
    doctree = read_doc(self.app, self.env, self.env.doc2path(docname))
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/sphinx/io.py", line 181, in read_doc
    pub.publish()
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/docutils/core.py", line 217, in publish
    self.document = self.reader.read(self.source, self.parser,
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/sphinx/io.py", line 101, in read
    self.parse()
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/docutils/readers/__init__.py", line 78, in parse
    self.parser.parse(self.input, document)
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/myst_nb/parser.py", line 67, in parse
    ntbk = generate_notebook_outputs(
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/myst_nb/execution.py", line 137, in generate_notebook_outputs
    result = single_nb_execution(
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/jupyter_cache/executors/utils.py", line 51, in single_nb_execution
    executenb(
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/nbclient/client.py", line 1204, in execute
    return NotebookClient(nb=nb, resources=resources, km=km, **kwargs).execute()
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/nbclient/util.py", line 84, in wrapped
    return just_run(coro(*args, **kwargs))
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/nbclient/util.py", line 62, in just_run
    return loop.run_until_complete(coro)
  File "/usr/lib/python3.10/asyncio/base_events.py", line 646, in run_until_complete
    return future.result()
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/nbclient/client.py", line 663, in async_execute
    await self.async_execute_cell(
  File "/home/mathis/titanom/the-python-minibook/venv/lib/python3.10/site-packages/nbclient/client.py", line 953, in async_execute_cell
    raise DeadKernelError("Kernel died")
nbclient.exceptions.DeadKernelError: Kernel died
uhasker commented 1 year ago

Weird, this works for me with the following setup (at least jupyter-book version seems to be the same):

❯ jupyter-book --version
Jupyter Book      : 0.13.1
External ToC      : 0.2.4
MyST-Parser       : 0.15.2
MyST-NB           : 0.13.2
Sphinx Book Theme : 0.3.3
Jupyter-Cache     : 0.4.3
NbClient          : 0.5.13

This might be relevant

uhasker commented 1 year ago

Apparently jupyter-book tries to build venv. Fixed here