Skip to content

Fix dependencies of ipywidgets #31523

@mkoeppe

Description

@mkoeppe

After #31278, which removed heavy dependencies from widgetsnbextension (which is a dependency of ipywidgets), we have to add some (lighter) dependencies to ipywidgets.

https://github.com/jupyter-widgets/ipywidgets/blob/master/setup.cfg#L35
lists:

install_requires =
  ipykernel>=4.5.1
  ipython>=6.1.0
  traitlets>=4.3.1
  nbformat>=4.2.0
  widgetsnbextension~=4.0a0
  jupyterlab_widgets~=2.0a0

These are not reflected in our dependency file. In this ticket we add the first three. (nbformat is only there so as to rule out some broken versions; we do not need jupyterlab_....)

So far this has not caused a build failure, but it is possible that one could appear in heavily parallelized builds.

The missing dependency is visible in the testsuite run for optional package p_group_cohomology in https://github.com/mkoeppe/sage/runs/2145415988

Running the test suite for p_group_cohomology-3.3.2...
Making check in src
Running doctests with ID 2021-03-19-18-58-47-d127e4fd.
Using --optional=debian,dochtml,meataxe,memlimit,pip,polylib,pycosat,sage,sage_spkg
Sorting sources by runtime so that slower doctests are run first....
Doctesting 13 files using 3 threads.
Traceback (most recent call last):
  File "/sage/src/bin/sage-runtests", line 182, in <module>
    err = DC.run()
  File "/sage/local/lib/python3.9/site-packages/sage/doctest/control.py", line 1212, in run
    self.run_doctests()
  File "/sage/local/lib/python3.9/site-packages/sage/doctest/control.py", line 909, in run_doctests
    self.dispatcher = DocTestDispatcher(self)
  File "/sage/local/lib/python3.9/site-packages/sage/doctest/forker.py", line 1658, in __init__
    init_sage(controller)
  File "/sage/local/lib/python3.9/site-packages/sage/doctest/forker.py", line 209, in init_sage
    controller.load_environment()
  File "/sage/local/lib/python3.9/site-packages/sage/doctest/control.py", line 530, in load_environment
    return import_module(self.options.environment)
...
  File "/sage/local/lib/python3.9/site-packages/sage/repl/ipython_kernel/all_jupyter.py", line 7, in <module>
    from .widgets_sagenb import (input_box, text_control, slider,
  File "/sage/local/lib/python3.9/site-packages/sage/repl/ipython_kernel/widgets_sagenb.py", line 31, in <module>
    from ipywidgets.widgets import (IntSlider, IntRangeSlider, FloatSlider,
  File "/sage/local/lib/python3.9/site-packages/ipywidgets/__init__.py", line 25, in <module>
    from .widgets import *
  File "/sage/local/lib/python3.9/site-packages/ipywidgets/widgets/__init__.py", line 4, in <module>
    from .widget import Widget, CallbackDispatcher, register, widget_serialization
  File "/sage/local/lib/python3.9/site-packages/ipywidgets/widgets/widget.py", line 18, in <module>
    from ipykernel.comm import Comm
ModuleNotFoundError: No module named 'ipykernel'
********************************************************************************
Error testing pGroupCohomology

CC: @dimpase @kliem @simon-king-jena @slel

Component: packages: standard

Author: Matthias Koeppe

Branch/Commit: 94fd11f

Reviewer: Jonathan Kliem

Issue created by migration from https://trac.sagemath.org/ticket/31523

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions