K3D-jupyter: “Error displaying widget: model not found” with Jupyter Lab

I followed the pip installation instructions but get “Error displaying widget: model not found” in the lab. In the notebook it works fine. I tried to reinstall everything related but couldn’t get it to work. Is this a known issue?

Here are the version infos:

D:\dev>jupyter --version
jupyter core     : 4.7.1
jupyter-notebook : 6.2.0
qtconsole        : 5.0.2
ipython          : 7.20.0
ipykernel        : 5.4.3
jupyter client   : 6.1.11
jupyter lab      : 3.0.7
nbconvert        : 6.0.7
ipywidgets       : 7.6.3
nbformat         : 5.1.2
traitlets        : 5.0.5

D:\dev>jupyter nbextension list
Known nbextensions:
  config dir: c:\prog\python39\etc\jupyter\nbconfig
    notebook section
      jupyter-datawidgets/extension enabled
      - Validating: problems found:
        - require?  X jupyter-datawidgets/extension
      jupyter-matplotlib/extension enabled
      - Validating: ok
      k3d/extension enabled
      - Validating: ok
      jupyter-js-widgets/extension enabled
      - Validating: ok

D:\dev>jupyter nbextension list
Known nbextensions:
  config dir: c:\prog\python39\etc\jupyter\nbconfig
    notebook section
      jupyter-datawidgets/extension enabled
      - Validating: problems found:
        - require?  X jupyter-datawidgets/extension
      jupyter-matplotlib/extension enabled
      - Validating: ok
      k3d/extension enabled
      - Validating: ok
      jupyter-js-widgets/extension enabled
      - Validating: ok

D:\dev>jupyter labextension list
JupyterLab v3.0.7
        jupyter-matplotlib v0.8.3 enabled ok
        @jupyter-widgets/jupyterlab-manager v3.0.0 enabled ok (python, jupyterlab_widgets)

Other labextensions (built into JupyterLab)
        jupyterlab-datawidgets v7.0.0 enabled ok
        k3d v2.9.3 enabled ok

Uninstalled core extensions:
    @jupyter-widgets/jupyterlab-manager
    k3d

D:\dev>node --version
v14.15.5

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Reactions: 1
  • Comments: 16 (1 by maintainers)

Commits related to this issue

Most upvoted comments

are there any plans to update the extension to the new JupyterLab 3.x extension system? https://jupyterlab.readthedocs.io/en/stable/extension/extension_migration.html

This would also simplify installation for users

After a quick cleanup of installed pythons (uninstalled all pip packages and removed all python brew casks, I started to use pyenv and this time I installed jupyterlab and k3d only locally and everything worked. Thanks for suggesting that the local global clash could be the source of all the evil…

Just for future memory this worked for me:

brew install pyenv
echo 'eval "$(pyenv init --path)"' >> ~/.zprofile\n
pyenv install 3.9.7
cd mypythonexperiments
pyenv local 3.9.7
pip install jupyterlab
pip install k3d
jupyter-lab

So I can continue to play with pymeshlab using k3d as viewer…

Screenshot 2021-11-08 at 0 44 18 AM

Thanks again!!

@krassowski thanks a lot for a hint. I will try to do that. Sorry that this is still not handled properly - I’m better in shaders and webgl than jupyter ecosystem. I’m glad from your willingness to help.

Hi @artur-trzesiok, I guess this is not about mere compatibility but about utilising the prebuilt extensions mechanism. JupyterLab 3+ allows to ship prebuilt extensions with other Python packages (or really any other distribution system for any language) which has multiple benefits for the end users:

  • one installation step less (no need for jupyter labextension install)
  • much faster installation (no need for the build step)
  • no need for installing Node.js in the first place

In other words users should be able to just pip install k3d (or conda install) and have it working in JupyterLab 3+ without any extra steps. This is what we recommend in the documentation here and here. Most other extensions already made the switch, including the big ones like plotly, which was very warmly welcomed by the users.

If you get stuck with the transition or wonder where to start feel free to ping me on GitHub or gitter.