Blank output with latest holoviz from conda-forge

I updated my holoviz environment today with the latest versions from conda-forge and now I’m getting blank output instead of the expected dashboard shown here: HRRR Model Explorer.

The old environment that DID WORK was:

$ conda list | grep -E "bokeh|datashader|holoviews|geoviews|hvplot|panel"
bokeh                     2.2.3            py38h578d9bd_0    conda-forge
bokeh-root-cmd            0.0.5                      py_0    conda-forge
datashader                0.12.1             pyh44b312d_1    conda-forge
geoviews                  1.8.2                      py_0    conda-forge
geoviews-core             1.8.2                      py_0    conda-forge
holoviews                 1.14.1             pyhd3deb0d_0    conda-forge
hvplot                    0.7.1              pyh44b312d_0    conda-forge
jupyter-panel-proxy       0.1.0                      py_0    conda-forge
panel                     0.10.3             pyhd8ed1ab_0    conda-forge

While the new environment that DOES NOT WORK is:

$ conda list | grep -E "bokeh|datashader|holoviews|geoviews|hvplot|panel"
bokeh                     2.3.1            py38h578d9bd_0    conda-forge
bokeh-root-cmd            0.0.5                      py_0    conda-forge
datashader                0.12.1             pyh44b312d_1    conda-forge
geoviews                  1.9.1              pyhd8ed1ab_0    conda-forge
geoviews-core             1.9.1              pyha770c72_0    conda-forge
holoviews                 1.14.3             pyhd8ed1ab_0    conda-forge
hvplot                    0.7.1              pyh44b312d_0    conda-forge
jupyter-panel-proxy       0.1.0                      py_0    conda-forge
panel                     0.11.3             pyhd8ed1ab_0    conda-forge

Do I need to revert, update, or modify my code to address some non-backwards compatibility issue?

This is not a true solution, but I have run into this sort of problems in the past. Often restarting jupyter (or sometimes even refreshing the browser tab with jupyterlab) will fix the issue.

@dhruvbalwada, unfortunately restarting does not help here. I’m pretty sure there is some package conflict or perhaps syntax change with new versions.

Have you tried reloading the browser page after it stayed blank and before shutting the process down?

I had a similar problem and this helps. See Bokeh DataTable not working with Panel 0.11.3 · Issue #2305 · holoviz/panel · GitHub

conda forge libraries have issues. Use all libraries from pyviz

conda install/update -c pyviz panel bokeh datashader holoviews geoviews

1 Like

GRRR… I’m getting blank output from hvplot again on the ESIP JupyterHub. Here is some data I’ve collected:

  • Another colleague on the same Hub running the same notebook, is also getting blank output (using the same environment)
  • Another colleague on the same Hub running the same notebook is not getting blank output (using the same environment)
  • If I use an older version of the conda environment, I don’t get blank output
  • The notebook does not have blank output if rendered on nbviewer
  • Clearing the browser cookies has no impact
  • Restarting the browser has no impact
  • Using an incognito tab has no impact
  • if I use a browser I’ve never used before, IT WORKS!

Conclusion: It’s not a conda-forge issue, it’s not a package version issue. It’s not a cookie issue. It must be a browser data caching issue. Okay. So I need to clear SOME browser data. But what?

What is the minimum that needs to be cleared to have my hvplot display return?

2021-10-07_14-27-37
2021-10-07_14-28-06

And what the heck is going on?

That’s pretty bizarre! Maybe @philippjfr has some ideas. Restarting the browser after upgrading has always done the ticket for me.

Oh, and here’s one more piece of info:
After opening the notebook with a browser that I’ve never used before and saving the notebook, the browser that didn’t display the output previously now works!

Interestingly I get the same issue as @rsignell with a code sample he sent me running on the same jupyterhub, so it’s not something that’s limited to his browser. I’ll see if I can replicate by switching browsers

Cosmic rays?

The problem here is probably old Bokeh sticking around in the notebook and interfering with the newer version. I’ve investigated this before and didn’t find any great solutions but I’ll have another go at modifying it such that new Bokeh always overrides the old version. But the process for fixing this manually is:

  1. Clear the notebook
  2. Save the notebook
  3. Reload the page
  4. Rerun the notebook

In JupyterLab you additionally have to make sure that none of the other tabs are loading an older version of Bokeh which might interfere.

1 Like

@philippjfr I think you’re right. I was refreshing the page and still having issues, but it turns out I had jupyter tabs (which had bokeh saved as output) that were starting a new kernel on a refresh, even if they had been manually killed. Closing those tabs, clearing the notebook, save, refresh, rerun the code finally got me seeing a plot

Thanks for reporting back, I know it’s very frustrating! Hope to have a fix soon.

I mentioned on a recent call that our ESIP jupyterhub users are still having this blank output problem.

@jbednar I think you mentioned this could be due to pinning bokeh<3 in the environment, is that right? ( I just checked an indeed the environment is pinned that way)

Since the Panel 1.0 release, you should now be able to leave Bokeh unpinned, and you definitely do not want to pin it < 3 any more. 3 for all, now!

1 Like

Just a note that with bokeh>3 we needed to pin hvplot==0.8.3, at least until hvplot==0.9.0 comes out: Any smart approach for determining what Holoviz package broke my notebook?

1 Like