Skip to content

Error: Module @jupyter-widgets/base, semver range ^2.0.0 is not registered as a widget module when using Voila #3588

Closed
@pswdemcon

Description

@pswdemcon

I ran into some problems using ipywidgets and voila when I upgraded to ipywidgets 8.0.2. Effectively I no longer see any of the widgets, e.g. buttons when deploying with Voila. When opening the development console in Edge I notice a series of errors, complaining about non registered versions (Error: Module @jupyter-widgets/base, semver range ^2.0.0 is not registered as a widget module).

I do see widgets when I use a notebook instead.

When I downgrade ipywidgets to version 7.7.1 instead, I do get working widgets when using Voila. E.g. changing the pyproject.toml file and running poetry update works.

I am using poetry to set up the Python environment (3.10.2 on Windows 10) using the following configuration:

[tool.poetry.dependencies]
python = "^3.10"
ipywidgets = "8.0.2"   # or 7.7.1
voila = "^0.3.6"

pip list with ipywidgets version 8.0.2 installed

Package              Version
-------------------- -----------
anyio                3.6.1
argon2-cffi          21.3.0
argon2-cffi-bindings 21.2.0
asttokens            2.0.8
attrs                22.1.0
Babel                2.10.3
backcall             0.2.0
beautifulsoup4       4.11.1
bleach               5.0.1
certifi              2022.6.15.1
cffi                 1.15.1
charset-normalizer   2.1.1
colorama             0.4.5
debugpy              1.6.3
decorator            5.1.1
defusedxml           0.7.1
entrypoints          0.4
executing            1.0.0
fastjsonschema       2.16.1
idna                 3.3
ipykernel            6.15.2
ipython              8.5.0
ipywidgets           8.0.2
jedi                 0.18.1
Jinja2               3.1.2
json5                0.9.10
jsonschema           4.16.0
jupyter_client       7.3.5
jupyter-core         4.11.1
jupyter-server       1.18.1
jupyterlab-pygments  0.2.2
jupyterlab_server    2.15.1
jupyterlab-widgets   3.0.3
lxml                 4.9.1
MarkupSafe           2.1.1
matplotlib-inline    0.1.6
mistune              0.8.4
nbclient             0.5.13
nbconvert            6.5.3
nbformat             5.4.0
nest-asyncio         1.5.5
packaging            21.3
pandocfilters        1.5.0
parso                0.8.3
pickleshare          0.7.5
pip                  22.2.2
prometheus-client    0.14.1
prompt-toolkit       3.0.31
psutil               5.9.2
pure-eval            0.2.2
pycparser            2.21
Pygments             2.13.0
pyparsing            3.0.9
pyrsistent           0.18.1
python-dateutil      2.8.2
pytz                 2022.2.1
pywin32              304
pywinpty             2.0.7
pyzmq                23.2.1
requests             2.28.1
Send2Trash           1.8.0
setuptools           65.3.0
six                  1.16.0
sniffio              1.3.0
soupsieve            2.3.2.post1
stack-data           0.5.0
terminado            0.15.0
tinycss2             1.1.1
tornado              6.2
traitlets            5.4.0
urllib3              1.26.12
voila                0.3.6
wcwidth              0.2.5
webencodings         0.5.1
websocket-client     1.4.1
websockets           10.3
wheel                0.37.1
widgetsnbextension   4.0.3

The notebook I use to test is very simple, and run the notebook using voila NOTEBOOKNAME.ipynb. For the 7.7.1 version I see a button and for 8.0.2 I do not.

import ipywidgets as widgets
from IPython.display import display

b = widgets.Button(description="Go!")

display(b)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions