Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
tlvu opened this issue Mar 9, 2020 · 6 comments
Closed

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

tlvu opened this issue Mar 9, 2020 · 6 comments

Comments

@tlvu
Copy link

tlvu commented Mar 9, 2020

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
Copy link
Author

tlvu commented Mar 9, 2020

@tlogan2000 FYI.

tlvu added a commit to Ouranosinc/PAVICS-e2e-workflow-tests that referenced this issue Mar 9, 2020
See issue bokeh/jupyter_bokeh#93.

There was no newer release on Pypi either so no other choices but to
remove bokeh while waiting for bokeh dev to release a new version
compatible with JupyterLab 2.0.1 and newer.
@bryevdv
Copy link
Member

bryevdv commented Mar 9, 2020

@tlvu this is a duplicate, please search existing issues #88

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

@tlvu
Copy link
Author

tlvu commented Mar 9, 2020

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

tlvu added a commit to Ouranosinc/PAVICS-e2e-workflow-tests that referenced this issue Mar 9, 2020
See issue bokeh/jupyter_bokeh#93.

There was no newer release on Pypi either so no other choices but to
remove bokeh while waiting for bokeh dev to release a new version
compatible with JupyterLab 2.0.1 and newer.
@bryevdv
Copy link
Member

bryevdv commented Mar 9, 2020

@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
Copy link
Member

bryevdv commented Mar 9, 2020

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
Copy link
Author

tlvu commented Mar 9, 2020

@bryevdv thanks, much appreciated the effort.

tlvu added a commit to Ouranosinc/PAVICS-e2e-workflow-tests that referenced this issue Mar 10, 2020
…tebooks

docker: add regionmask and salem for Era5 Raven notebooks, removed jupyter_bokeh

jupyter_bokeh (the extension, not the package) was removed due to this issue bokeh/jupyter_bokeh#93

Era5 Raven notebook PR: Ouranosinc/raven#200

Noticeable  rather large Jupyter env changes:

```diff
<   - birdy=v0.6.5=py_0
>   - birdy=v0.6.6=py_0

<   - bokeh=1.4.0=py36_0
>     - bokeh==2.0.0  # from pip recursive dependencies (we get newer version by not explicitly get from conda !)


<   - esgf-compute-api=2.2.1=py_2
>   - esgf-compute-api=2.2.3=py_0

<   - jupyterlab=1.2.5=py_0
>   - jupyterlab=2.0.1=py_0

<   - owslib=0.19.0=py_2
>   - owslib=0.19.1=py_0

<   - pandas=0.25.3=py36hb3f55d8_0
>   - pandas=1.0.1=py37hb3f55d8_0

<   - python=3.6.7=h357f687_1006
>   - python=3.7.6=h357f687_4_cpython

>   - regionmask=0.5.0=py_1

<   - xarray=0.14.1=py_1
>   - xarray=0.15.0=py_0

<     - dask==2.9.2
>     - dask==2.12.0

>     - salem==0.2.4

<     - xclim==0.13.0
>     - xclim==0.14.0
```

Full conda env export Diff:
[200120-200309-conda-env-export.diff.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/4309639/200120-200309-conda-env-export.diff.txt)

```diff
10c10
<   - alembic=1.3.2=py_0
---
>   - alembic=1.4.1=py_0
14,16c14,16
<   - beautifulsoup4=4.8.2=py36_0
<   - birdy=v0.6.5=py_0
<   - bleach=3.1.0=py_0
---
>   - beautifulsoup4=4.8.2=py37_0
>   - birdy=v0.6.6=py_0
>   - bleach=3.1.1=py_0
18d17
<   - bokeh=1.4.0=py36_0
20c19
<   - boost-cpp=1.70.0=h8e57a91_2
---
>   - boost-cpp=1.72.0=h8e57a91_0
25,27c24,26
<   - cartopy=0.17.0=py36h423102d_1009
<   - cdat_info=8.2=py_6
<   - cdtime=3.1.2=py36h1ac8016_8
---
>   - cartopy=0.17.0=py37h39d8c00_1011
>   - cdat_info=8.2=py_7
>   - cdtime=3.1.3=py37h1ac8016_0
29c28
<   - certifi=2019.11.28=py36_0
---
>   - certifi=2019.11.28=py37_0
31c30
<   - cffi=1.13.2=py36h8022711_0
---
>   - cffi=1.14.0=py37hd463f26_0
33,34c32,33
<   - cftime=1.0.4.2=py36hc1659b7_0
<   - chardet=3.0.4=py36_1003
---
>   - cftime=1.0.4.2=py37hc1659b7_0
>   - chardet=3.0.4=py37_1003
40,42c39,41
<   - coverage=5.0.3=py36h516909a_0
<   - cryptography=2.8=py36h72c5cf5_1
<   - curl=7.65.3=hf8cf82a_0
---
>   - coverage=5.0.3=py37h516909a_0
>   - cryptography=2.8=py37h72c5cf5_1
>   - curl=7.68.0=hf8cf82a_0
45c44
<   - decorator=4.4.1=py_0
---
>   - decorator=4.4.2=py_0
51,55c50,54
<   - entrypoints=0.3=py36_1000
<   - esgf-compute-api=2.2.1=py_2
<   - esmf=8.0.0=nompi_he6d0a24_4
<   - esmpy=8.0.0=nompi_py36hf0e99fa_1
<   - expat=2.2.5=he1b5a44_1004
---
>   - entrypoints=0.3=py37_1000
>   - esgf-compute-api=2.2.3=py_0
>   - esmf=8.0.0=nompi_he6d0a24_5
>   - esmpy=8.0.0=nompi_py37hf0e99fa_1
>   - expat=2.2.9=he1b5a44_2
57c56
<   - fiona=1.8.13=py36h900e953_0
---
>   - fiona=1.8.13=py37h900e953_0
62c61
<   - future=0.18.2=py36_0
---
>   - future=0.18.2=py37_0
64,66c63,65
<   - gdal=3.0.2=py36hbb6b9fb_7
<   - genutil=8.2=py36hc1659b7_3
<   - geopandas=0.6.2=py_0
---
>   - gdal=3.0.4=py37hbb6b9fb_1
>   - genutil=8.2=py37hc1659b7_3
>   - geopandas=0.7.0=py_1
68c67
<   - geotiff=1.5.1=hbd99317_7
---
>   - geotiff=1.5.1=hcbe54f9_9
71,75c70,74
<   - giflib=5.2.1=h516909a_1
<   - gitdb2=2.0.6=py_0
<   - gitpython=3.0.5=py_0
<   - glib=2.58.3=py36h6f030ca_1002
<   - gmp=6.2.0=he1b5a44_0
---
>   - giflib=5.2.1=h516909a_2
>   - gitdb=4.0.2=py_0
>   - gitpython=3.1.0=py_0
>   - glib=2.58.3=py37h6f030ca_1002
>   - gmp=6.2.0=he1b5a44_2
77,78c76,77
<   - gst-plugins-base=1.14.5=h0935bb2_0
<   - gstreamer=1.14.5=h36ae1b5_0
---
>   - gst-plugins-base=1.14.5=h0935bb2_2
>   - gstreamer=1.14.5=h36ae1b5_2
82,86c81,85
<   - idna=2.8=py36_1000
<   - importlib_metadata=1.4.0=py36_0
<   - ipykernel=5.1.3=py36h5ca1d4c_0
<   - ipyleaflet=0.12.1=py36_0
<   - ipython=7.11.1=py36h5ca1d4c_0
---
>   - idna=2.9=py_1
>   - importlib_metadata=1.5.0=py37_0
>   - ipykernel=5.1.4=py37h5ca1d4c_0
>   - ipyleaflet=0.12.3=py_1
>   - ipython=7.13.0=py37h5ca1d4c_0
90,91c89,90
<   - jedi=0.15.2=py36_0
<   - jinja2=2.10.3=py_0
---
>   - jedi=0.16.0=py37_0
>   - jinja2=2.11.1=py_0
94,95c93,94
<   - json5=0.8.5=py_0
<   - jsonschema=3.2.0=py36_0
---
>   - json5=0.9.0=py_0
>   - jsonschema=3.2.0=py37_0
97,102c96,103
<   - jupyter_client=5.3.4=py36_1
<   - jupyter_console=5.1.0=py36_0
<   - jupyter_core=4.6.1=py36_0
<   - jupyter_server=0.1.1=py36_0
<   - jupyterhub=1.0.0=py36_0
<   - jupyterlab=1.2.5=py_0
---
>   - jupyter_client=6.0.0=py_0
>   - jupyter_console=6.0.0=py_0
>   - jupyter_core=4.6.3=py37_0
>   - jupyter_server=0.1.1=py37_0
>   - jupyter_telemetry=0.0.5=py_0
>   - jupyterhub=1.1.0=py37_2
>   - jupyterhub-base=1.1.0=py37_2
>   - jupyterlab=2.0.1=py_0
104c105
<   - jupyterlab_server=1.0.6=py_0
---
>   - jupyterlab_server=1.0.7=py_0
106c107
<   - kiwisolver=1.1.0=py36hc9558a2_0
---
>   - kiwisolver=1.1.0=py37hc9558a2_0
109c110,111
<   - lazy-object-proxy=1.4.3=py36h516909a_0
---
>   - lazy-object-proxy=1.4.3=py37h516909a_1
>   - ld_impl_linux-64=2.33.1=h53a641e_8
113c115
<   - libcf=1.0.3=py36hdee1361_5
---
>   - libcf=1.0.3=py37hdee1361_5
115c117
<   - libcurl=7.65.3=hda55be3_0
---
>   - libcurl=7.68.0=hda55be3_0
122,123c124,125
<   - libgdal=3.0.2=hbe56659_7
<   - libgfortran-ng=7.3.0=hdf63c60_4
---
>   - libgdal=3.0.4=h022d3c0_1
>   - libgfortran-ng=7.3.0=hdf63c60_5
127c129
<   - libkml=1.3.0=h4fcabce_1010
---
>   - libkml=1.3.0=hb574062_1011
130c132
<   - libnetcdf=4.7.3=nompi_h94020b1_100
---
>   - libnetcdf=4.7.3=nompi_h9f9fd6a_101
133c135
<   - libpq=12.1=hd9ab2ff_0
---
>   - libpq=12.2=hae5116b_0
135,136c137,138
<   - libspatialindex=1.9.3=he1b5a44_1
<   - libspatialite=4.3.0a=h343d7df_1033
---
>   - libspatialindex=1.9.3=he1b5a44_3
>   - libspatialite=4.3.0a=hd318ce7_1035
145c147
<   - libxkbcommon=0.9.1=hebb1f50_0
---
>   - libxkbcommon=0.10.0=he1b5a44_0
148c150
<   - lxml=4.4.2=py36h7ec2d77_0
---
>   - lxml=4.5.0=py37h7ec2d77_0
151,153c153,155
<   - markupsafe=1.1.1=py36h516909a_0
<   - matplotlib=3.1.2=py36_1
<   - matplotlib-base=3.1.2=py36h250f245_1
---
>   - markupsafe=1.1.1=py37h516909a_0
>   - matplotlib=3.2.0=1
>   - matplotlib-base=3.2.0=py37h250f245_1
156,157c158,159
<   - mistune=0.8.4=py36h516909a_1000
<   - more-itertools=8.1.0=py_0
---
>   - mistune=0.8.4=py37h516909a_1000
>   - more-itertools=8.2.0=py_0
159,162c161,164
<   - nbconvert=5.6.1=py36_0
<   - nbdime=1.1.0=py36_0
<   - nbformat=5.0.3=py_0
<   - nbval=0.9.4=py_0
---
>   - nbconvert=5.6.1=py37_0
>   - nbdime=1.1.0=py37_0
>   - nbformat=5.0.4=py_0
>   - nbval=0.9.5=py_0
165c167
<   - netcdf4=1.5.3=nompi_py36hd35fb8e_102
---
>   - netcdf4=1.5.3=nompi_py37hd35fb8e_102
167,169c169,171
<   - nodejs=13.6.0=h10a4023_0
<   - notebook=6.0.2=py36_0
<   - nspr=4.24=he1b5a44_0
---
>   - nodejs=13.9.0=h10a4023_0
>   - notebook=6.0.3=py37_0
>   - nspr=4.25=he1b5a44_0
171c173
<   - numpy=1.17.5=py36h95a1406_0
---
>   - numpy=1.18.1=py37h95a1406_0
178,179c180,181
<   - owslib=0.19.0=py_2
<   - packaging=20.0=py_0
---
>   - owslib=0.19.1=py_0
>   - packaging=20.1=py_0
181,182c183,184
<   - pandas=0.25.3=py36hb3f55d8_0
<   - pandoc=2.9.1.1=0
---
>   - pandas=1.0.1=py37hb3f55d8_0
>   - pandoc=2.9.2=0
184,189c186,191
<   - parso=0.5.2=py_0
<   - pcre=8.43=he1b5a44_0
<   - pexpect=4.7.0=py36_0
<   - pickleshare=0.7.5=py36_1000
<   - pillow=7.0.0=py36hefe7db6_0
<   - pip=19.3.1=py36_0
---
>   - parso=0.6.2=py_0
>   - pcre=8.44=he1b5a44_0
>   - pexpect=4.8.0=py37_0
>   - pickleshare=0.7.5=py37_1000
>   - pillow=7.0.0=py37hefe7db6_0
>   - pip=20.0.2=py_2
191c193
<   - pluggy=0.12.0=py_0
---
>   - pluggy=0.13.0=py37_0
194,195c196,197
<   - postgresql=12.1=hc63931a_0
<   - proj=6.2.1=hc80f0dc_0
---
>   - postgresql=12.2=hf1211e9_0
>   - proj=6.3.1=hc80f0dc_1
197c199
<   - prompt_toolkit=3.0.2=py_0
---
>   - prompt_toolkit=2.0.10=py_0
201,203c203,205
<   - pycparser=2.19=py36_1
<   - pycurl=7.43.0.4=py36h16ce93b_0
<   - pydap=3.2.2=py36_1000
---
>   - pycparser=2.20=py_0
>   - pycurl=7.43.0.5=py37h16ce93b_0
>   - pydap=3.2.2=py37_1000
205c207
<   - pygments=2.5.2=py_0
---
>   - pygments=2.6.1=py_0
207,208c209,210
<   - pykdtree=1.3.1=py36hc1659b7_1002
<   - pyopenssl=19.1.0=py36_0
---
>   - pykdtree=1.3.1=py37hc1659b7_1002
>   - pyopenssl=19.1.0=py_1
210,212c212,214
<   - pyproj=2.4.2.post1=py36h12732c1_0
<   - pyqt=5.12.3=py36hcca6a23_1
<   - pyrsistent=0.15.7=py36h516909a_0
---
>   - pyproj=2.5.0=py37he3cd046_1
>   - pyqt=5.12.3=py37hcca6a23_1
>   - pyrsistent=0.15.7=py37h516909a_0
214,216c216,218
<   - pysocks=1.7.1=py36_0
<   - pytest=5.3.4=py36_0
<   - python=3.6.7=h357f687_1006
---
>   - pysocks=1.7.1=py37_0
>   - pytest=5.3.5=py37_1
>   - python=3.7.6=h357f687_4_cpython
218a221,222
>   - python-json-logger=0.1.11=py_0
>   - python_abi=3.7=1_cp37m
220,221c224
<   - pyyaml=5.3=py36h516909a_0
<   - pyzmq=18.1.1=py36h1768529_0
---
>   - pyzmq=19.0.0=py37h1768529_0
223,224c226,228
<   - qtconsole=4.6.0=py_0
<   - rasterio=1.1.2=py36h900e953_0
---
>   - qtconsole=4.7.1=py_0
>   - qtpy=1.9.0=py_0
>   - rasterio=1.1.3=py37h900e953_0
226,228c230,235
<   - requests=2.22.0=py36_1
<   - rtree=0.9.3=py36h7b0cdae_0
<   - scipy=1.4.1=py36h921218d_0
---
>   - regionmask=0.5.0=py_1
>   - requests=2.23.0=py37_0
>   - rtree=0.9.4=py37h7b0cdae_0
>   - ruamel.yaml=0.16.6=py37h516909a_0
>   - ruamel.yaml.clib=0.2.0=py37h516909a_0
>   - scipy=1.4.1=py37h921218d_0
230,233c237,240
<   - setuptools=45.1.0=py36_0
<   - shapely=1.6.4=py36h5d51c17_1007
<   - six=1.14.0=py36_0
<   - smmap2=2.0.5=py_0
---
>   - setuptools=46.0.0=py37_0
>   - shapely=1.7.0=py37h5d51c17_0
>   - six=1.14.0=py37_0
>   - smmap=3.0.1=py_0
235,236c242,243
<   - soupsieve=1.9.4=py36_0
<   - sqlalchemy=1.3.12=py36h516909a_0
---
>   - soupsieve=1.9.4=py37_0
>   - sqlalchemy=1.3.13=py37h516909a_0
239c246
<   - terminado=0.8.3=py36_0
---
>   - terminado=0.8.3=py37_0
244,245c251,252
<   - tornado=6.0.3=py36h516909a_0
<   - traitlets=4.3.3=py36_0
---
>   - tornado=6.0.4=py37h516909a_0
>   - traitlets=4.3.3=py37_0
249c256
<   - urllib3=1.25.7=py36_0
---
>   - urllib3=1.25.7=py37_0
251,252c258,259
<   - voila=0.1.20=py_0
<   - vtk-cdat=8.2.0.8.2=py36_mesalibhead77ed_0
---
>   - voila=0.1.21=py_0
>   - vtk-cdat=8.2.0.8.2=py37_mesalibhead77ed_0
255c262
<   - webob=1.8.5=py_0
---
>   - webob=1.8.6=py_0
257,259c264,266
<   - wheel=0.33.6=py36_0
<   - widgetsnbextension=3.5.1=py36_0
<   - wrapt=1.11.2=py36h516909a_0
---
>   - wheel=0.34.2=py_1
>   - widgetsnbextension=3.5.1=py37_0
>   - wrapt=1.12.1=py37h516909a_0
261c268
<   - xarray=0.14.1=py_1
---
>   - xarray=0.15.0=py_0
275d281
<   - yaml=0.2.2=h516909a_1
277c283
<   - zipp=2.0.0=py_0
---
>   - zipp=3.1.0=py_0
282c288,289
<     - bottleneck==1.3.1
---
>     - bokeh==2.0.0
>     - bottleneck==1.3.2
284c291
<     - cloudpickle==1.2.2
---
>     - cloudpickle==1.3.0
286,287c293,294
<     - dask==2.9.2
<     - distributed==2.9.3
---
>     - dask==2.12.0
>     - distributed==2.12.0
293c300
<     - markdown==3.1.1
---
>     - markdown==3.2.1
295c302
<     - msgpack==0.6.2
---
>     - msgpack==1.0.0
297c304
<     - pint==0.9
---
>     - pint==0.11
299c306
<     - psutil==5.6.7
---
>     - psutil==5.7.0
301a309
>     - pyyaml==5.3
304c312,313
<     - scikit-learn==0.22.1
---
>     - salem==0.2.4
>     - scikit-learn==0.22.2.post1
308,309c317,319
<     - xclim==0.13.0
<     - zict==1.0.0
---
>     - typing-extensions==3.7.4.1
>     - xclim==0.14.0
>     - zict==2.0.0
```

Full new conda env export:
[200309-conda-env-export.yml.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/4309640/200309-conda-env-export.yml.txt)

```
name: birdy
channels:
  - cdat
  - conda-forge
  - defaults
dependencies:
  - _libgcc_mutex=0.1=conda_forge
  - _openmp_mutex=4.5=0_gnu
  - affine=2.3.0=py_0
  - alembic=1.4.1=py_0
  - async_generator=1.10=py_0
  - attrs=19.3.0=py_0
  - backcall=0.1.0=py_0
  - beautifulsoup4=4.8.2=py37_0
  - birdy=v0.6.6=py_0
  - bleach=3.1.1=py_0
  - blinker=1.4=py_1
  - boltons=20.0.0=py_0
  - boost-cpp=1.72.0=h8e57a91_0
  - branca=0.3.1=py_0
  - bzip2=1.0.8=h516909a_2
  - ca-certificates=2019.11.28=hecc5488_0
  - cairo=1.16.0=hfb77d84_1002
  - cartopy=0.17.0=py37h39d8c00_1011
  - cdat_info=8.2=py_7
  - cdtime=3.1.3=py37h1ac8016_0
  - cdutil=8.2=py_2
  - certifi=2019.11.28=py37_0
  - certipy=0.1.3=py_0
  - cffi=1.14.0=py37hd463f26_0
  - cfitsio=3.470=hb60a0a2_2
  - cftime=1.0.4.2=py37hc1659b7_0
  - chardet=3.0.4=py37_1003
  - click=7.0=py_0
  - click-plugins=1.1.1=py_0
  - cligj=0.5.0=py_0
  - colorama=0.4.3=py_0
  - configurable-http-proxy=4.2.0=node13_he01fd0c_2
  - coverage=5.0.3=py37h516909a_0
  - cryptography=2.8=py37h72c5cf5_1
  - curl=7.68.0=hf8cf82a_0
  - cycler=0.10.0=py_2
  - dbus=1.13.6=he372182_0
  - decorator=4.4.2=py_0
  - defusedxml=0.6.0=py_0
  - descartes=1.1.0=py_4
  - distarray=2.12.2=py_1
  - docopt=0.6.2=py_1
  - dv3d=8.2=py_0
  - entrypoints=0.3=py37_1000
  - esgf-compute-api=2.2.3=py_0
  - esmf=8.0.0=nompi_he6d0a24_5
  - esmpy=8.0.0=nompi_py37hf0e99fa_1
  - expat=2.2.9=he1b5a44_2
  - ffmpeg=4.2=h167e202_0
  - fiona=1.8.13=py37h900e953_0
  - fontconfig=2.13.1=h86ecdb6_1001
  - freetype=2.10.0=he983fc9_1
  - freexl=1.0.5=h14c3975_1002
  - funcsigs=1.0.2=py_3
  - future=0.18.2=py37_0
  - g2clib=1.6.0=hf3f1b0b_9
  - gdal=3.0.4=py37hbb6b9fb_1
  - genutil=8.2=py37hc1659b7_3
  - geopandas=0.7.0=py_1
  - geos=3.8.0=he1b5a44_0
  - geotiff=1.5.1=hcbe54f9_9
  - gettext=0.19.8.1=hc5be6a0_1002
  - ghostscript=9.22=hf484d3e_1001
  - giflib=5.2.1=h516909a_2
  - gitdb=4.0.2=py_0
  - gitpython=3.1.0=py_0
  - glib=2.58.3=py37h6f030ca_1002
  - gmp=6.2.0=he1b5a44_2
  - gnutls=3.6.5=hd3a4fd2_1002
  - gst-plugins-base=1.14.5=h0935bb2_2
  - gstreamer=1.14.5=h36ae1b5_2
  - hdf4=4.2.13=hf30be14_1003
  - hdf5=1.10.5=nompi_h3c11f04_1104
  - icu=64.2=he1b5a44_1
  - idna=2.9=py_1
  - importlib_metadata=1.5.0=py37_0
  - ipykernel=5.1.4=py37h5ca1d4c_0
  - ipyleaflet=0.12.3=py_1
  - ipython=7.13.0=py37h5ca1d4c_0
  - ipython_genutils=0.2.0=py_1
  - ipywidgets=7.5.1=py_0
  - jasper=1.900.1=h07fcdf6_1006
  - jedi=0.16.0=py37_0
  - jinja2=2.11.1=py_0
  - jpeg=9c=h14c3975_1001
  - json-c=0.13.1=h14c3975_1001
  - json5=0.9.0=py_0
  - jsonschema=3.2.0=py37_0
  - jupyter=1.0.0=py_2
  - jupyter_client=6.0.0=py_0
  - jupyter_console=6.0.0=py_0
  - jupyter_core=4.6.3=py37_0
  - jupyter_server=0.1.1=py37_0
  - jupyter_telemetry=0.0.5=py_0
  - jupyterhub=1.1.0=py37_2
  - jupyterhub-base=1.1.0=py37_2
  - jupyterlab=2.0.1=py_0
  - jupyterlab_pygments=0.1.0=py_0
  - jupyterlab_server=1.0.7=py_0
  - kealib=1.4.10=h58c409b_1005
  - kiwisolver=1.1.0=py37hc9558a2_0
  - krb5=1.16.4=h2fd8d38_0
  - lame=3.100=h14c3975_1001
  - lazy-object-proxy=1.4.3=py37h516909a_1
  - ld_impl_linux-64=2.33.1=h53a641e_8
  - libblas=3.8.0=11_openblas
  - libcblas=3.8.0=11_openblas
  - libcdms=3.1.2=ha54dda3_8
  - libcf=1.0.3=py37hdee1361_5
  - libclang=9.0.1=default_hde54327_0
  - libcurl=7.68.0=hda55be3_0
  - libdap4=3.20.4=hd3bb157_0
  - libdrs=3.1.2=h9b7ed86_9
  - libdrs_f=3.1.2=h322d3c2_5
  - libedit=3.1.20170329=hf8c457e_1001
  - libffi=3.2.1=he1b5a44_1006
  - libgcc-ng=9.2.0=h24d8f2e_2
  - libgdal=3.0.4=h022d3c0_1
  - libgfortran-ng=7.3.0=hdf63c60_5
  - libgomp=9.2.0=h24d8f2e_2
  - libiconv=1.15=h516909a_1005
  - libidn2=2.3.0=h516909a_0
  - libkml=1.3.0=hb574062_1011
  - liblapack=3.8.0=11_openblas
  - libllvm9=9.0.1=hc9558a2_0
  - libnetcdf=4.7.3=nompi_h9f9fd6a_101
  - libopenblas=0.3.6=h6e990d7_6
  - libpng=1.6.37=hed695b0_0
  - libpq=12.2=hae5116b_0
  - libsodium=1.0.17=h516909a_0
  - libspatialindex=1.9.3=he1b5a44_3
  - libspatialite=4.3.0a=hd318ce7_1035
  - libssh2=1.8.2=h22169c7_2
  - libstdcxx-ng=9.2.0=hdf63c60_2
  - libtiff=4.1.0=hc3755c2_3
  - libunistring=0.9.10=h14c3975_0
  - libuuid=2.32.1=h14c3975_1000
  - libuv=1.34.0=h516909a_0
  - libwebp=1.0.2=h56121f0_5
  - libxcb=1.13=h14c3975_1002
  - libxkbcommon=0.10.0=he1b5a44_0
  - libxml2=2.9.10=hee79883_0
  - libxslt=1.1.33=h31b3aaa_0
  - lxml=4.5.0=py37h7ec2d77_0
  - lz4-c=1.8.3=he1b5a44_1001
  - mako=1.1.0=py_0
  - markupsafe=1.1.1=py37h516909a_0
  - matplotlib=3.2.0=1
  - matplotlib-base=3.2.0=py37h250f245_1
  - mechanicalsoup=0.12.0=py_0
  - mesalib=18.3.1=h590aaf7_0
  - mistune=0.8.4=py37h516909a_1000
  - more-itertools=8.2.0=py_0
  - munch=2.5.0=py_0
  - nbconvert=5.6.1=py37_0
  - nbdime=1.1.0=py37_0
  - nbformat=5.0.4=py_0
  - nbval=0.9.5=py_0
  - ncurses=6.1=hf484d3e_1002
  - netcdf-fortran=4.5.2=nompi_h09cde99_103
  - netcdf4=1.5.3=nompi_py37hd35fb8e_102
  - nettle=3.4.1=h1bed415_1002
  - nodejs=13.9.0=h10a4023_0
  - notebook=6.0.3=py37_0
  - nspr=4.25=he1b5a44_0
  - nss=3.47=he751ad9_0
  - numpy=1.18.1=py37h95a1406_0
  - oauthlib=3.0.1=py_0
  - olefile=0.46=py_0
  - openblas=0.3.6=h6e990d7_6
  - openh264=1.8.0=hdbcaa40_1000
  - openjpeg=2.3.1=h981e76c_3
  - openssl=1.1.1d=h516909a_0
  - owslib=0.19.1=py_0
  - packaging=20.1=py_0
  - pamela=1.0.0=py_0
  - pandas=1.0.1=py37hb3f55d8_0
  - pandoc=2.9.2=0
  - pandocfilters=1.4.2=py_1
  - parso=0.6.2=py_0
  - pcre=8.44=he1b5a44_0
  - pexpect=4.8.0=py37_0
  - pickleshare=0.7.5=py37_1000
  - pillow=7.0.0=py37hefe7db6_0
  - pip=20.0.2=py_2
  - pixman=0.38.0=h516909a_1003
  - pluggy=0.13.0=py37_0
  - poppler=0.67.0=h14e79db_8
  - poppler-data=0.4.9=1
  - postgresql=12.2=hf1211e9_0
  - proj=6.3.1=hc80f0dc_1
  - prometheus_client=0.7.1=py_0
  - prompt_toolkit=2.0.10=py_0
  - pthread-stubs=0.4=h14c3975_1001
  - ptyprocess=0.6.0=py_1001
  - py=1.8.1=py_0
  - pycparser=2.20=py_0
  - pycurl=7.43.0.5=py37h16ce93b_0
  - pydap=3.2.2=py37_1000
  - pyepsg=0.4.0=py_0
  - pygments=2.6.1=py_0
  - pyjwt=1.7.1=py_0
  - pykdtree=1.3.1=py37hc1659b7_1002
  - pyopenssl=19.1.0=py_1
  - pyparsing=2.4.6=py_0
  - pyproj=2.5.0=py37he3cd046_1
  - pyqt=5.12.3=py37hcca6a23_1
  - pyrsistent=0.15.7=py37h516909a_0
  - pyshp=2.1.0=py_0
  - pysocks=1.7.1=py37_0
  - pytest=5.3.5=py37_1
  - python=3.7.6=h357f687_4_cpython
  - python-dateutil=2.8.1=py_0
  - python-editor=1.0.4=py_0
  - python-json-logger=0.1.11=py_0
  - python_abi=3.7=1_cp37m
  - pytz=2019.3=py_0
  - pyzmq=19.0.0=py37h1768529_0
  - qt=5.12.5=hd8c4c69_1
  - qtconsole=4.7.1=py_0
  - qtpy=1.9.0=py_0
  - rasterio=1.1.3=py37h900e953_0
  - readline=8.0=hf8c457e_0
  - regionmask=0.5.0=py_1
  - requests=2.23.0=py37_0
  - rtree=0.9.4=py37h7b0cdae_0
  - ruamel.yaml=0.16.6=py37h516909a_0
  - ruamel.yaml.clib=0.2.0=py37h516909a_0
  - scipy=1.4.1=py37h921218d_0
  - send2trash=1.5.0=py_0
  - setuptools=46.0.0=py37_0
  - shapely=1.7.0=py37h5d51c17_0
  - six=1.14.0=py37_0
  - smmap=3.0.1=py_0
  - snuggs=1.4.7=py_0
  - soupsieve=1.9.4=py37_0
  - sqlalchemy=1.3.13=py37h516909a_0
  - sqlite=3.30.1=hcee41ef_0
  - tbb=2018.0.5=h2d50403_0
  - terminado=0.8.3=py37_0
  - testpath=0.4.4=py_0
  - threddsclient=0.4.2=py_0
  - tiledb=1.7.0=hcde45ca_2
  - tk=8.6.10=hed695b0_0
  - tornado=6.0.4=py37h516909a_0
  - traitlets=4.3.3=py37_0
  - traittypes=0.2.1=py_1
  - tzcode=2019a=h516909a_1002
  - udunits2=2.2.27.6=h4e0c4b3_1001
  - urllib3=1.25.7=py37_0
  - vcs=8.2=py_2
  - voila=0.1.21=py_0
  - vtk-cdat=8.2.0.8.2=py37_mesalibhead77ed_0
  - wcwidth=0.1.8=py_0
  - webencodings=0.5.1=py_1
  - webob=1.8.6=py_0
  - wget=1.20.1=h22169c7_0
  - wheel=0.34.2=py_1
  - widgetsnbextension=3.5.1=py37_0
  - wrapt=1.12.1=py37h516909a_0
  - x264=1!152.20180806=h14c3975_0
  - xarray=0.15.0=py_0
  - xerces-c=3.2.2=h8412b87_1004
  - xorg-kbproto=1.0.7=h14c3975_1002
  - xorg-libice=1.0.10=h516909a_0
  - xorg-libsm=1.2.3=h84519dc_1000
  - xorg-libx11=1.6.9=h516909a_0
  - xorg-libxau=1.0.9=h14c3975_0
  - xorg-libxdmcp=1.1.3=h516909a_0
  - xorg-libxext=1.3.4=h516909a_0
  - xorg-libxrender=0.9.10=h516909a_1002
  - xorg-renderproto=0.11.1=h14c3975_1002
  - xorg-xextproto=7.3.0=h14c3975_1002
  - xorg-xproto=7.0.31=h14c3975_1007
  - xz=5.2.4=h14c3975_1001
  - zeromq=4.3.2=he1b5a44_2
  - zipp=3.1.0=py_0
  - zlib=1.2.11=h516909a_1006
  - zstd=1.4.4=h3b9ef0a_1
  - pip:
    - astunparse==1.6.3
    - bokeh==2.0.0
    - bottleneck==1.3.2
    - cdms2==3.1.4
    - cloudpickle==1.3.0
    - colour==0.1.5
    - dask==2.12.0
    - distributed==2.12.0
    - fsspec==0.6.2
    - geojson==2.5.0
    - heapdict==1.0.1
    - joblib==0.14.1
    - locket==0.2.0
    - markdown==3.2.1
    - mpld3==0.3
    - msgpack==1.0.0
    - partd==1.1.0
    - pint==0.11
    - pixiedust==1.1.18
    - psutil==5.7.0
    - pyqt5-sip==4.19.18
    - pyqtwebengine==5.12.1
    - pyyaml==5.3
    - regrid2==3.1.4
    - requests-magpie==0.1.1
    - salem==0.2.4
    - scikit-learn==0.22.2.post1
    - sortedcontainers==2.1.0
    - tblib==1.6.0
    - toolz==0.10.0
    - typing-extensions==3.7.4.1
    - xclim==0.14.0
    - zict==2.0.0
prefix: /usr/local/envs/birdy
```
tlvu added a commit to bird-house/birdhouse-deploy that referenced this issue Mar 10, 2020
… salem for Era5 Raven notebooks

See PR Ouranosinc/PAVICS-e2e-workflow-tests#36
or commit
Ouranosinc/PAVICS-e2e-workflow-tests@f916bea

jupyter_bokeh (the extension, not the package) was removed due to this issue bokeh/jupyter_bokeh#93

Era5 Raven notebook PR: Ouranosinc/raven#200

Noticeable  rather large Jupyter env changes:

```diff
<   - birdy=v0.6.5=py_0
>   - birdy=v0.6.6=py_0

<   - bokeh=1.4.0=py36_0
>     - bokeh==2.0.0  # from pip recursive dependencies (we get newer version by not explicitly get from conda !)

<   - esgf-compute-api=2.2.1=py_2
>   - esgf-compute-api=2.2.3=py_0

<   - jupyterlab=1.2.5=py_0
>   - jupyterlab=2.0.1=py_0

<   - owslib=0.19.0=py_2
>   - owslib=0.19.1=py_0

<   - pandas=0.25.3=py36hb3f55d8_0
>   - pandas=1.0.1=py37hb3f55d8_0

<   - python=3.6.7=h357f687_1006
>   - python=3.7.6=h357f687_4_cpython

>   - regionmask=0.5.0=py_1

<   - xarray=0.14.1=py_1
>   - xarray=0.15.0=py_0

<     - dask==2.9.2
>     - dask==2.12.0

>     - salem==0.2.4

<     - xclim==0.13.0
>     - xclim==0.14.0
```

Full conda env export Diff:
[200120-200309-conda-env-export.diff.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/4309639/200120-200309-conda-env-export.diff.txt)

Full new conda env export:
[200309-conda-env-export.yml.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/4309640/200309-conda-env-export.yml.txt)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants