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

0.4.0: pytest is failing in tests/test_execute.py::test_save_script unit because hardcoded python interpreter name #222

Open
kloczek opened this issue Mar 6, 2023 · 2 comments

Comments

@kloczek
Copy link

kloczek commented Mar 6, 2023

Looks like pytest is failing in tests/test_execute.py::test_save_script because hardcoded python interpreter name.
Insterd it should be used sys.executable.
pytest as well currently shows some PendingDeprecationWarning warnings.
Here is pytest output:

+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-jupyter-sphinx-0.4.0-4.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-jupyter-sphinx-0.4.0-4.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra -m 'not network'
============================= test session starts ==============================
platform linux -- Python 3.8.16, pytest-7.2.2, pluggy-1.0.0
rootdir: /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0
collected 35 items

tests/test_execute.py ...........................Fs......                [100%]

=================================== FAILURES ===================================
_______________________________ test_save_script _______________________________

doctree = <function doctree.<locals>.doctree at 0x7fac32562040>

    def test_save_script(doctree):
        source = """
        .. jupyter-kernel:: python3
          :id: test

        .. jupyter-execute::

          a = 1
          print(a)
        """
        _, app, _ = doctree(source, return_all=True)
        outdir = Path(app.outdir)
        saved_text = (outdir / "../jupyter_execute/test.py").read_text()
>       assert saved_text.startswith("#!/usr/bin/python3")
E       AssertionError: assert False
E        +  where False = <built-in method startswith of str object at 0x7fac33135d30>('#!/usr/bin/python3')
E        +    where <built-in method startswith of str object at 0x7fac33135d30> = '#!/usr/bin/env python\n# coding: utf-8\n\n# In[1]:\n\n\na = 1\nprint(a)\n\n'.startswith

tests/test_execute.py:637: AssertionError
=============================== warnings summary ===============================
../../../../../usr/lib/python3.8/site-packages/jupyter_client/connect.py:27
  /usr/lib/python3.8/site-packages/jupyter_client/connect.py:27: DeprecationWarning: Jupyter is migrating its paths to use standard platformdirs
  given by the platformdirs library.  To remove this warning and
  see the appropriate new directories, set the environment variable
  `JUPYTER_PLATFORM_DIRS=1` and then run `jupyter --paths`.
  The use of platformdirs will be the default in `jupyter_core` v6
    from jupyter_core.paths import jupyter_data_dir

../../../../../usr/lib/python3.8/site-packages/traitlets/traitlets.py:1016: 98 warnings
  /usr/lib/python3.8/site-packages/traitlets/traitlets.py:1016: DeprecationWarning: Widget._active_widgets is deprecated.
    value = getattr(cls, name)

../../../../../usr/lib/python3.8/site-packages/traitlets/traitlets.py:1016: 98 warnings
  /usr/lib/python3.8/site-packages/traitlets/traitlets.py:1016: DeprecationWarning: Widget._widget_types is deprecated.
    value = getattr(cls, name)

../../../../../usr/lib/python3.8/site-packages/traitlets/traitlets.py:1016: 98 warnings
  /usr/lib/python3.8/site-packages/traitlets/traitlets.py:1016: DeprecationWarning: Widget.widget_types is deprecated.
    value = getattr(cls, name)

../../../../../usr/lib/python3.8/site-packages/traitlets/traitlets.py:1016: 98 warnings
  /usr/lib/python3.8/site-packages/traitlets/traitlets.py:1016: DeprecationWarning: Widget.widgets is deprecated.
    value = getattr(cls, name)

tests/test_execute.py::test_basic[html]
tests/test_execute.py::test_basic[html]
  /usr/lib64/python3.8/importlib/__init__.py:127: RemovedInSphinx80Warning: The alias 'sphinx.util.progress_message' is deprecated, use 'sphinx.util.display.progress_message' instead. Check CHANGES for Sphinx API modifications.
    return _bootstrap._gcd_import(name[level:], package, level)

tests/test_execute.py: 40 warnings
  /home/tkloczko/rpmbuild/BUILDROOT/python-jupyter-sphinx-0.4.0-4.fc35.x86_64/usr/lib/python3.8/site-packages/jupyter_sphinx/ast.py:628: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    for cell_node in self.document.traverse(JupyterCellNode):

tests/test_execute.py: 39 warnings
  /home/tkloczko/rpmbuild/BUILDROOT/python-jupyter-sphinx-0.4.0-4.fc35.x86_64/usr/lib/python3.8/site-packages/jupyter_sphinx/execute.py:126: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    if not doctree.traverse(JupyterCellNode):

tests/test_execute.py: 38 warnings
  /home/tkloczko/rpmbuild/BUILDROOT/python-jupyter-sphinx-0.4.0-4.fc35.x86_64/usr/lib/python3.8/site-packages/jupyter_sphinx/execute.py:143: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    doctree.traverse(lambda n: isinstance(n, jupyter_nodes)),

tests/test_execute.py::test_basic[html]
tests/test_execute.py::test_basic[singlehtml]
  /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0/tests/test_execute.py:82: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    (cell,) = tree.traverse(JupyterCellNode)

tests/test_execute.py::test_hide_output
  /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0/tests/test_execute.py:100: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    (cell,) = tree.traverse(JupyterCellNode)

tests/test_execute.py::test_hide_code
  /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0/tests/test_execute.py:115: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    (cell,) = tree.traverse(JupyterCellNode)

tests/test_execute.py::test_code_below
  /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0/tests/test_execute.py:130: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    (cell,) = tree.traverse(JupyterCellNode)

tests/test_execute.py::test_linenos
  /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0/tests/test_execute.py:145: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    (cell,) = tree.traverse(JupyterCellNode)

tests/test_execute.py::test_linenos
  /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0/tests/test_execute.py:159: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    (cell,) = tree.traverse(JupyterCellNode)

tests/test_execute.py::test_linenos_conf_option
  /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0/tests/test_execute.py:171: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    (cell,) = tree.traverse(JupyterCellNode)

tests/test_execute.py::test_continue_linenos_conf_option
  /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0/tests/test_execute.py:189: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    (cell,) = tree.traverse(JupyterCellNode)

tests/test_execute.py::test_continue_linenos_conf_option
  /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0/tests/test_execute.py:213: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    cell0, cell1 = tree.traverse(JupyterCellNode)

tests/test_execute.py::test_continue_linenos_conf_option
  /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0/tests/test_execute.py:243: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    cell0, cell1 = tree.traverse(JupyterCellNode)

tests/test_execute.py::test_emphasize_lines
  /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0/tests/test_execute.py:277: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    cell0, cell1 = tree.traverse(JupyterCellNode)

tests/test_execute.py::test_execution_environment_carries_over
  /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0/tests/test_execute.py:295: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    _, cell1 = tree.traverse(JupyterCellNode)

tests/test_execute.py::test_kernel_restart
  /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0/tests/test_execute.py:316: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    _, cell1 = tree.traverse(JupyterCellNode)

tests/test_execute.py::test_raises
  /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0/tests/test_execute.py:337: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    (cell,) = tree.traverse(JupyterCellNode)

tests/test_execute.py::test_raises
  /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0/tests/test_execute.py:348: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    (cell,) = tree.traverse(JupyterCellNode)

tests/test_execute.py::test_widgets
  /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0/tests/test_execute.py:361: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    assert len(list(tree.traverse(JupyterWidgetViewNode))) == 1

tests/test_execute.py::test_widgets
  /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0/tests/test_execute.py:362: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    assert len(list(tree.traverse(JupyterWidgetStateNode))) == 1

tests/test_execute.py::test_javascript
  /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0/tests/test_execute.py:373: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    (node,) = list(tree.traverse(raw))

tests/test_execute.py::test_stdout
  /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0/tests/test_execute.py:385: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    (cell,) = tree.traverse(JupyterCellNode)

tests/test_execute.py::test_stderr
  /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0/tests/test_execute.py:401: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    (cell,) = tree.traverse(JupyterCellNode)

tests/test_execute.py::test_stderr
  /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0/tests/test_execute.py:413: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    (cell,) = tree.traverse(JupyterCellNode)

tests/test_execute.py::test_thebe_hide_output
tests/test_execute.py::test_thebe_hide_code
tests/test_execute.py::test_thebe_code_below
tests/test_execute.py::test_thebe_button_auto
tests/test_execute.py::test_thebe_button_manual
  /home/tkloczko/rpmbuild/BUILDROOT/python-jupyter-sphinx-0.4.0-4.fc35.x86_64/usr/lib/python3.8/site-packages/jupyter_sphinx/execute.py:131: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    if not doctree.traverse(ThebeButtonNode):

tests/test_execute.py::test_thebe_hide_output
  /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0/tests/test_execute.py:431: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    (cell,) = tree.traverse(JupyterCellNode)

tests/test_execute.py::test_thebe_hide_code
  /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0/tests/test_execute.py:450: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    (cell,) = tree.traverse(JupyterCellNode)

tests/test_execute.py::test_thebe_code_below
  /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0/tests/test_execute.py:475: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    (cell,) = tree.traverse(JupyterCellNode)

tests/test_execute.py::test_thebe_button_auto
  /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0/tests/test_execute.py:499: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    assert len(tree.traverse(ThebeButtonNode)) == 1

tests/test_execute.py::test_thebe_button_manual
  /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0/tests/test_execute.py:512: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    assert len(tree.traverse(ThebeButtonNode)) == 1

tests/test_execute.py::test_thebe_button_none
  /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0/tests/test_execute.py:519: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    assert len(tree.traverse(ThebeButtonNode)) == 0

tests/test_execute.py::test_latex
tests/test_execute.py::test_latex
tests/test_execute.py::test_latex
tests/test_execute.py::test_latex
  /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0/tests/test_execute.py:534: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    (cell,) = tree.traverse(JupyterCellNode)

tests/test_execute.py::test_latex
tests/test_execute.py::test_latex
tests/test_execute.py::test_latex
tests/test_execute.py::test_latex
  /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0/tests/test_execute.py:536: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    assert next(iter(celloutput.traverse(math_block))).astext() == r"\int"

tests/test_execute.py::test_cell_output_to_nodes
tests/test_execute.py::test_cell_output_to_nodes
  /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0/tests/test_execute.py:577: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    (image_node,) = output_node.traverse(image)

tests/test_execute.py::test_input_cell
  /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0/tests/test_execute.py:675: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    (cell,) = tree.traverse(JupyterCellNode)

tests/test_execute.py::test_input_cell_linenos
  /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0/tests/test_execute.py:691: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    (cell,) = tree.traverse(JupyterCellNode)

tests/test_execute.py::test_output_cell
  /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0/tests/test_execute.py:710: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    (cell,) = tree.traverse(JupyterCellNode)

tests/test_execute.py::test_multiple_directives
  /home/tkloczko/rpmbuild/BUILD/jupyter-sphinx-0.4.0/tests/test_execute.py:744: PendingDeprecationWarning: nodes.Node.traverse() is obsoleted by Node.findall().
    (ex, jin) = tree.traverse(JupyterCellNode)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
SKIPPED [1] tests/test_execute.py:642: could not import 'bash_kernel': No module named 'bash_kernel'
FAILED tests/test_execute.py::test_save_script - AssertionError: assert False
======= 1 failed, 33 passed, 1 skipped, 559 warnings in 80.16s (0:01:20) =======
@12rambau
Copy link
Contributor

I think I'm facing the same issue in my most recent builds: https://readthedocs.org/projects/pygaul/builds/21575953/

In short:

Unable to find kernel (exception: No such kernel named python3)

@12rambau
Copy link
Contributor

I solved my issue by adding "ipykernel" in my documentation deps, it's urprising that it's not already included by one of jupyter-sphinx's

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