jupyter-widgets / ipydatagrid

Fast Datagrid widget for the Jupyter Notebook and JupyterLab
BSD 3-Clause "New" or "Revised" License
580 stars 51 forks source link

ipydatagrid conflict with jupyterlab_bokeh #356

Closed linlol closed 9 months ago

linlol commented 2 years ago

Here comes a quick update,

Since there is totally no error log, so I use a stupid approach such that I commentated all extensions and then reinstall them one by one.

after that, I found jupyterlab bokeh is the root cause that makes conflict with ipydatagrid.

to avoid other turbulance, I create a virtual environment which contains just ipydatagrid, jupyterlab 3.2.6, python 3.9.7 pandas, matplotlib, jupyterlab_bokeh (those I didn't specify version means I didn't have the version fixed), and ipydatagrid fail while it works if I only have jupyterlab_bokeh removed.

In this case, anyone please help share that have you ever met this issue and any advise to resolve it

ORIGINAL:

Describe the bug Sorry that it shall actually not a bug, and it shall be a consistency issue instead... but it is less likely a security issue/feature request

In our case, we are using jupyterlab 3.2.6, with two conda venv. one is python 3.9 (denoted as env1) which is used to startup jupyter server, the other is 3.7.9, (denoted as env2) which is used in ipykernel and executing real logic. (sorry that it is a internal system so I cannot put screenshot/repo),

in this case, when I tried to install ipykernel in env1 and startup server, it failed to render and the error looks similar in issue https://github.com/bloomberg/ipydatagrid/issues/228, ipydatagrid also work if I use another kernel with only ipywiget, ipydatagrid, pandas and matplotlib installed, so I guess it is caused due to some extension conflict (but I failed to figure it out)

We install ipydatagrid by adding into conda dependency file, with requirements listed below

jupyterlab_bokeh, 3.0.5 jupyterlab-drawio 0.9.0 jupyterlab_latex 3.1.0 jupyterlab plotly 5.9.0 jupyterlab topbar 0.6.1 ipywidget 7.2.2 ipyaggrid, 0.2.2 ipysheet 0.6.0 and ipydatagrid 1.1.12

btw when handling this I found seems like ipydatagrid incompatible with some version of matplotlib (like 3.3.x or 3.6.x, but it works with matplotlib 3.5.1) or maybe there are alternative conflict within them and third dependency...

our service is running in k8s with OS ubuntu 16, built from parent image r-notebook here https://github.com/jupyter/docker-stacks

linlol commented 9 months ago

Here is a quick update. Mostly it is not incompatibility with bokeh, instead, looks like somehow it is incompatible with old ipywidgets (<8.0)

martinRenou commented 9 months ago

Thank you for opening an issue and sorry for the very late reply.

I believe this does not have to do with ipydatagrid but is an jupyterlab_bokeh issue. They should probably upgrade to the latest jupyterlab and ipywidgets, as it's seems to be breaking other widgets.

linlol commented 9 months ago

Thank you for opening an issue and sorry for the very late reply.

I believe this does not have to do with ipydatagrid but is an jupyterlab_bokeh issue. They should probably upgrade to the latest jupyterlab and ipywidgets, as it's seems to be breaking other widgets.

@martinRenou no worries. Looks like upgrade ipywidgets helps.

This incompatibility is a bit tricky actually...

ianthomas23 commented 9 months ago

There was a new release of jupyter_bokeh about a week ago, version 4.0.0, which is compatible with jupyterlab 4 and ipywidgets 8.

linlol commented 9 months ago

There was a new release of jupyter_bokeh about a week ago, version 4.0.0, which is compatible with jupyterlab 4 and ipywidgets 8.

@ianthomas23 right I see, for consistency of jupyter lab 4