bokeh / jupyter_bokeh

An extension for rendering Bokeh content in JupyterLab notebooks
BSD 3-Clause "New" or "Revised" License
253 stars 48 forks source link

Latest Bokeh 1.2.0 do not work with latest JupyterLab 2.0.1 #93

Closed tlvu closed 4 years ago

tlvu commented 4 years ago

Both Bokeh and JupyterLab are from conda, today.

Conda environment.yml file to reproduce: https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/blob/ddc9c67e6b02f2e71f0328d71a8a4039257d20ea/docker/environment.yml

Steps to reproduce:

git clone https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests.git
cd PAVICS-e2e-workflow-tests/docker
git checkout ddc9c67e6b02f2e71f0328d71a8a4039257d20ea
docker build -t reproduce-build-error .

Build error from the docker build command above:

Step 10/18 : RUN jupyter labextension install @jupyter-widgets/jupyterlab-manager     && jupyter serverextension enable voila --sys-prefix     && 
jupyter labextension install @jupyter-widgets/jupyterlab-manager jupyter-leaflet     && jupyter labextension install @bokeh/jupyter_bokeh         
 ---> Running in 78af5a055ca3                                                                                                                     
Building jupyterlab assets (build:prod:minimize)                                                                                                  
The extension "nbdime-jupyterlab" is outdated.                                                                                                    

Enabling: voila                                                                                                                                   
- Writing config: /usr/local/envs/birdy/etc/jupyter                                                                                               
    - Validating...                                                                                                                               
      voila 0.1.21 OK                                                                                                                             
Building jupyterlab assets (build:prod:minimize)
The extension "nbdime-jupyterlab" is outdated.

An error occured.
ValueError: The extension "@bokeh/jupyter_bokeh" does not yet support the current version of JupyterLab.

Conflicting Dependencies:
JupyterLab                        Extension      Package
>=2.0.2 <2.1.0                    >=1.1.3 <2.0.0 @jupyterlab/application
>=2.0.2 <2.1.0                    >=1.1.3 <2.0.0 @jupyterlab/apputils
>=2.0.2 <2.1.0                    >=1.1.3 <2.0.0 @jupyterlab/notebook
>=2.0.1 <2.1.0                    >=1.4.0 <2.0.0 @jupyterlab/rendermime-interfaces
>=5.0.2 <5.1.0                    >=4.1.1 <5.0.0 @jupyterlab/services
See the log file for details:  /tmp/jupyterlab-debug-t1jvjykq.log
The command '/bin/sh -c jupyter labextension install @jupyter-widgets/jupyterlab-manager     && jupyter serverextension enable voila --sys-prefix
    && jupyter labextension install @jupyter-widgets/jupyterlab-manager jupyter-leaflet     && jupyter labextension install @bokeh/jupyter_bokeh'
returned a non-zero code: 1

Content of /tmp/jupyterlab-debug-t1jvjykq.log:

$ cat jupyterlab-debug-t1jvjykq.log
Node v13.9.0

Yarn configuration loaded.
> /usr/local/envs/birdy/bin/npm pack @bokeh/jupyter_bokeh
npm notice
npm notice 📦  @bokeh/jupyter_bokeh@1.2.0
npm notice === Tarball Contents ===
npm notice 570B    lib/extension.js
npm notice 728.3kB dist/index.js
npm notice 240B    lib/index.js
npm notice 546B    lib/manager.js
npm notice 73B     lib/metadata.js
npm notice 1.9kB   lib/plugin.js
npm notice 4.0kB   lib/renderer.js
npm notice 3.2kB   lib/widgets.js
npm notice 1.4kB   package.json
npm notice 3.2MB   dist/index.js.map
npm notice 2.9kB   README.md
npm notice 25B     lib/extension.d.ts
npm notice 91B     lib/index.d.ts
npm notice 530B    lib/manager.d.ts
npm notice 587B    lib/plugin.d.ts
npm notice 1.4kB   lib/renderer.d.ts
npm notice 1.1kB   lib/widgets.d.ts
npm notice 1.5kB   LICENSE.txt
npm notice === Tarball Details ===
npm notice name:          @bokeh/jupyter_bokeh
npm notice version:       1.2.0
npm notice filename:      bokeh-jupyter_bokeh-1.2.0.tgz
npm notice package size:  1.0 MB
npm notice unpacked size: 4.0 MB
npm notice shasum:        833672a1b4cc5b1a8b59b69fa1f96ae4de8d0831
npm notice integrity:     sha512-NlBGXFL7ZllYB[...]39d0Ct1F1dZSg==
npm notice total files:   18
npm notice
bokeh-jupyter_bokeh-1.2.0.tgz

Fetching URL: https://registry.yarnpkg.com/@bokeh%2Fjupyter_bokeh
Fetching URL: https://registry.yarnpkg.com/@bokeh%2Fjupyter_bokeh
Traceback (most recent call last):

  File "/usr/local/envs/birdy/lib/python3.7/site-packages/jupyterlab/debuglog.py", line 47, in debug_logging
    yield

  File "/usr/local/envs/birdy/lib/python3.7/site-packages/jupyterlab/labextensions.py", line 93, in start
    ans = self.run_task()

  File "/usr/local/envs/birdy/lib/python3.7/site-packages/jupyterlab/labextensions.py", line 149, in run_task
    for i, arg in enumerate(self.extra_args)

  File "/usr/local/envs/birdy/lib/python3.7/site-packages/jupyterlab/labextensions.py", line 149, in <listcomp>
    for i, arg in enumerate(self.extra_args)

  File "/usr/local/envs/birdy/lib/python3.7/site-packages/jupyterlab/commands.py", line 388, in install_extension
    return handler.install_extension(extension, pin=pin)

  File "/usr/local/envs/birdy/lib/python3.7/site-packages/jupyterlab/commands.py", line 603, in install_extension
    info = self._install_extension(extension, tempdir, pin=pin)

  File "/usr/local/envs/birdy/lib/python3.7/site-packages/jupyterlab/commands.py", line 1550, in _install_extension
    raise ValueError(msg)

ValueError: The extension "@bokeh/jupyter_bokeh" does not yet support the current version of JupyterLab.

Conflicting Dependencies:
JupyterLab                        Extension      Package
>=2.0.2 <2.1.0                    >=1.1.3 <2.0.0 @jupyterlab/application
>=2.0.2 <2.1.0                    >=1.1.3 <2.0.0 @jupyterlab/apputils
>=2.0.2 <2.1.0                    >=1.1.3 <2.0.0 @jupyterlab/notebook
>=2.0.1 <2.1.0                    >=1.4.0 <2.0.0 @jupyterlab/rendermime-interfaces
>=5.0.2 <5.1.0                    >=4.1.1 <5.0.0 @jupyterlab/services

Exiting application: jupyter
tlvu commented 4 years ago

@tlogan2000 FYI.

bryevdv commented 4 years ago

@tlvu this is a duplicate, please search existing issues https://github.com/bokeh/jupyter_bokeh/issues/88

There will be an updated release of the extension in the next week or so

tlvu commented 4 years ago

@bryevdv Opps sorry. Any guesstimate when there will be a new bokeh release compatible with new jupyterlab?

bryevdv commented 4 years ago

@tlvu As I mentioned above there will be an updated release of the extension in the next week or so (the extension has the issue, not bokeh itself)

bryevdv commented 4 years ago

As an aside I'll just say it's truly unfortunate that the PhosphorJS creator decided to throw a fit and generate so much useless and unnecessary work for dozens of projects and maintainers, but we are doing the best we can to respond as quickly as we can.

tlvu commented 4 years ago

@bryevdv thanks, much appreciated the effort.