Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exception occurs when writing ipynb #596

Open
pd-nisse opened this issue Sep 8, 2021 · 2 comments
Open

Exception occurs when writing ipynb #596

pd-nisse opened this issue Sep 8, 2021 · 2 comments

Comments

@pd-nisse
Copy link

pd-nisse commented Sep 8, 2021

When embedding an *.ipynb file through nbsphinx, I receive an ImportError.

I have tried different setups now, also Python3.6.13 as alternative version, but eventually I always land with the same issue. Web searches did not yield any working results. I also tried older versions of prompt_toolkit but the error persisted - or I got an exception because of version validation (when going down to version 1.x.y).

When opening a python shell and simply executing the last imports manually, I do not get an ImportError, which is weird.

Any ideas where the issue could be?

command that is run:
sphinx-build -b html -a -E docs/source docs/build

nbsphinx==0.8.7

# Sphinx version: 4.1.2
# Python version: 3.8.10 (CPython)
# Docutils version: 0.16 release
# Jinja2 version: 3.0.1
# Last messages:
#   writing output... [ 18%] index
#   writing output... [ 27%] license
#   writing output... [ 36%] python_api/annotation
#   writing output... [ 45%] python_api/dataset
#   writing output... [ 54%] python_api/projection
#   writing output... [ 63%] python_api/scene
#   writing output... [ 72%] python_api/sensor
#   writing output... [ 81%] python_api/transformation
#   writing output... [ 90%] tutorial/dataset/index
#   writing output... [100%] tutorial/dataset/load_dataset
# Loaded extensions:
#   sphinx.ext.mathjax (4.1.2) from /home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/sphinx/ext/mathjax.py
#   sphinxcontrib.applehelp (1.0.2) from /home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/sphinxcontrib/applehelp/__init__.py
#   sphinxcontrib.devhelp (1.0.2) from /home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/sphinxcontrib/devhelp/__init__.py
#   sphinxcontrib.htmlhelp (2.0.0) from /home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/sphinxcontrib/htmlhelp/__init__.py
#   sphinxcontrib.serializinghtml (1.1.5) from /home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/sphinxcontrib/serializinghtml/__init__.py
#   sphinxcontrib.qthelp (1.0.3) from /home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/sphinxcontrib/qthelp/__init__.py
#   alabaster (0.7.12) from /home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/alabaster/__init__.py
#   sphinx.ext.autodoc.preserve_defaults (1.0) from /home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/sphinx/ext/autodoc/preserve_defaults.py
#   sphinx.ext.autodoc.type_comment (4.1.2) from /home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/sphinx/ext/autodoc/type_comment.py
#   sphinx.ext.autodoc (4.1.2) from /home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/sphinx/ext/autodoc/__init__.py
#   sphinx_autodoc_typehints (unknown version) from /home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/sphinx_autodoc_typehints.py
#   sphinx.ext.napoleon (4.1.2) from /home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/sphinx/ext/napoleon/__init__.py
#   m2r2 (0.3.1) from /home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/m2r2.py
#   sphinx_rtd_theme (unknown version) from /home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/sphinx_rtd_theme/__init__.py
#   nbsphinx (0.8.7) from /home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/nbsphinx.py
Traceback (most recent call last):
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/sphinx/cmd/build.py", line 280, in build_main
    app.build(args.force_all, filenames)
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/sphinx/application.py", line 337, in build
    self.builder.build_all()
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 257, in build_all
    self.build(None, summary=__('all source files'), method='all')
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 357, in build
    self.write(docnames, list(updated_docnames), method)
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 531, in write
    self._write_serial(sorted(docnames))
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 541, in _write_serial
    self.write_doc(docname, doctree)
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/sphinx/builders/html/__init__.py", line 622, in write_doc
    self.docwriter.write(doctree, destination)
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/docutils/writers/__init__.py", line 78, in write
    self.translate()
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/sphinx/writers/html.py", line 70, in translate
    self.document.walkabout(visitor)
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/docutils/nodes.py", line 214, in walkabout
    if child.walkabout(visitor):
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/docutils/nodes.py", line 214, in walkabout
    if child.walkabout(visitor):
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/docutils/nodes.py", line 214, in walkabout
    if child.walkabout(visitor):
  [Previous line repeated 1 more time]
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/docutils/nodes.py", line 206, in walkabout
    visitor.dispatch_visit(self)
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/sphinx/util/docutils.py", line 469, in dispatch_visit
    method(node)
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/sphinx/writers/html5.py", line 417, in visit_literal_block
    highlighted = self.highlighter.highlight_block(
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/sphinx/highlighting.py", line 149, in highlight_block
    lexer = self.get_lexer(source, lang, opts, force, location)
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/sphinx/highlighting.py", line 133, in get_lexer
    lexer = get_lexer_by_name(lang, **opts)
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/pygments/lexers/__init__.py", line 115, in get_lexer_by_name
    for cls in find_plugin_lexers():
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/pygments/plugin.py", line 54, in find_plugin_lexers
    yield entrypoint.load()
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/pkg_resources/__init__.py", line 2450, in load
    return self.resolve()
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/pkg_resources/__init__.py", line 2456, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/IPython/__init__.py", line 56, in <module>
    from .terminal.embed import embed
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/IPython/terminal/embed.py", line 16, in <module>
    from IPython.terminal.interactiveshell import TerminalInteractiveShell
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/IPython/terminal/interactiveshell.py", line 19, in <module>
    from prompt_toolkit.enums import DEFAULT_BUFFER, EditingMode
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/prompt_toolkit/__init__.py", line 16, in <module>
    from .application import Application
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/prompt_toolkit/application/__init__.py", line 1, in <module>
    from .application import Application
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/prompt_toolkit/application/application.py", line 42, in <module>
    from prompt_toolkit.buffer import Buffer
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/prompt_toolkit/buffer.py", line 31, in <module>
    from .application.current import get_app
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/prompt_toolkit/application/current.py", line 11, in <module>
    from prompt_toolkit.input.base import Input
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/prompt_toolkit/input/__init__.py", line 1, in <module>
    from .base import DummyInput, Input
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/prompt_toolkit/input/base.py", line 8, in <module>
    from prompt_toolkit.key_binding import KeyPress
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/prompt_toolkit/key_binding/__init__.py", line 1, in <module>
    from .key_bindings import (
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/prompt_toolkit/key_binding/key_bindings.py", line 53, in <module>
    from prompt_toolkit.filters import FilterOrBool, Never, to_filter
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/prompt_toolkit/filters/__init__.py", line 19, in <module>
    from .app import *
  File "/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/prompt_toolkit/filters/app.py", line 6, in <module>
    from prompt_toolkit.application.current import get_app
ImportError: cannot import name 'get_app' from partially initialized module 'prompt_toolkit.application.current' (most likely due to a circular import) (/home/user/.virtualenvs/doc_env/lib/python3.8/site-packages/prompt_toolkit/application/current.py)

Thanks!

@pd-nisse
Copy link
Author

pd-nisse commented Sep 9, 2021

I was able to solve the issue by explicitly installing a version of prompt-toolkit<3.0.0

pip install -U "prompt-toolkit<3.0.0"

@mgeier
Copy link
Member

mgeier commented Oct 12, 2021

Which was the version that didn't work?

These seem to be the versions supported by IPython: https://github.com/ipython/ipython/blob/98941e549d4d3ceefc7081f368d5d02e38e47cf4/setup.py#L199

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants