Jupyterlab widget not working with jupyterlab 2.0.0 or 2.0.1 #981
Closed
Description
Bug Report
Steps to Reproduce:
Installation using
jupyter labextension install @jupyter-widgets/jupyterlab-manager
jupyter labextension install @finos/perspective-jupyterlab
It seems this does not install the latest version of @finos/perspective-jupyterlab
it should be 0.4.5
?
$ jupyter labextension list
JupyterLab v2.0.1
Known labextensions:
app dir: /oneoff/.conda/envs/micro-alpha/share/jupyter/lab
@finos/perspective-jupyterlab v0.3.9 enabled OK
@jupyter-widgets/jupyterlab-manager v2.0.0 enabled OK
jupyter-matplotlib v0.7.2 enabled OK
A simple notebook with the code in one cell
from datetime import date, datetime
import numpy as np
import pandas as pd
import perspective
data = pd.DataFrame({
"int": np.arange(100),
"float": [i * 1.5 for i in range(100)],
"bool": [True for i in range(100)],
"date": [date.today() for i in range(100)],
"datetime": [datetime.now() for i in range(100)],
"string": [str(i) for i in range(100)]
})
psp = perspective.PerspectiveWidget(data)
psp
Expected Result:
Should show a widget ?
Actual Result:
Cell output:
Error displaying widget: model not found
A browser console
DevTools failed to parse SourceMap: chrome-extension://hdokiejnpimakedhajhdlcegeplioahd/sourcemaps/onloadwff.js.map
index.js:8 Registered perspective-computed-column
index.js:8 Registered perspective-row
index.js:8 Registered perspective-viewer
index.js:1 Registered perspective-hypergrid
index.js:1 Registered perspective-d3fc-chart
index.js:1 Registered perspective-highcharts
index.js:8 Conflicting plugin name "X Bar Chart", qualifying with id
registerPlugin @ index.js:8
t.a @ index.js:29
e.exports @ index.js:29
n @ index.js:29
e.exports @ index.js:29
(anonymous) @ index.js:29
n @ index.js:1
(anonymous) @ index.js:8
n @ index.js:1
(anonymous) @ index.js:1
n @ index.js:1
(anonymous) @ index.js:1
n @ index.js:1
(anonymous) @ index.js:1
n @ index.js:1
(anonymous) @ index.js:1
(anonymous) @ index.js:1
(anonymous) @ index.js:1
OrB5 @ index.js:1
a @ bootstrap:84
o @ index.out.js:1022
load (async)
ANye @ index.out.js:1105
a @ bootstrap:84
0 @ main.415f6731bf868c505884.js:1
a @ bootstrap:84
r @ bootstrap:45
i @ bootstrap:32
(anonymous) @ vendors~main.0871fff4484841fb1df5.js:2
index.js:8 Conflicting plugin name "Y Bar Chart", qualifying with id
registerPlugin @ index.js:8
t.a @ index.js:29
e.exports @ index.js:29
n @ index.js:29
e.exports @ index.js:29
(anonymous) @ index.js:29
n @ index.js:1
(anonymous) @ index.js:8
n @ index.js:1
(anonymous) @ index.js:1
n @ index.js:1
(anonymous) @ index.js:1
n @ index.js:1
(anonymous) @ index.js:1
n @ index.js:1
(anonymous) @ index.js:1
(anonymous) @ index.js:1
(anonymous) @ index.js:1
OrB5 @ index.js:1
a @ bootstrap:84
o @ index.out.js:1022
load (async)
ANye @ index.out.js:1105
a @ bootstrap:84
0 @ main.415f6731bf868c505884.js:1
a @ bootstrap:84
r @ bootstrap:45
i @ bootstrap:32
(anonymous) @ vendors~main.0871fff4484841fb1df5.js:2
index.js:8 Conflicting plugin name "Y Line Chart", qualifying with id
registerPlugin @ index.js:8
t.a @ index.js:29
e.exports @ index.js:29
n @ index.js:29
e.exports @ index.js:29
(anonymous) @ index.js:29
n @ index.js:1
(anonymous) @ index.js:8
n @ index.js:1
(anonymous) @ index.js:1
n @ index.js:1
(anonymous) @ index.js:1
n @ index.js:1
(anonymous) @ index.js:1
n @ index.js:1
(anonymous) @ index.js:1
(anonymous) @ index.js:1
(anonymous) @ index.js:1
OrB5 @ index.js:1
a @ bootstrap:84
o @ index.out.js:1022
load (async)
ANye @ index.out.js:1105
a @ bootstrap:84
0 @ main.415f6731bf868c505884.js:1
a @ bootstrap:84
r @ bootstrap:45
i @ bootstrap:32
(anonymous) @ vendors~main.0871fff4484841fb1df5.js:2
index.js:8 Conflicting plugin name "Y Scatter Chart", qualifying with id
registerPlugin @ index.js:8
t.a @ index.js:29
e.exports @ index.js:29
n @ index.js:29
e.exports @ index.js:29
(anonymous) @ index.js:29
n @ index.js:1
(anonymous) @ index.js:8
n @ index.js:1
(anonymous) @ index.js:1
n @ index.js:1
(anonymous) @ index.js:1
n @ index.js:1
(anonymous) @ index.js:1
n @ index.js:1
(anonymous) @ index.js:1
(anonymous) @ index.js:1
(anonymous) @ index.js:1
OrB5 @ index.js:1
a @ bootstrap:84
o @ index.out.js:1022
load (async)
ANye @ index.out.js:1105
a @ bootstrap:84
0 @ main.415f6731bf868c505884.js:1
a @ bootstrap:84
r @ bootstrap:45
i @ bootstrap:32
(anonymous) @ vendors~main.0871fff4484841fb1df5.js:2
index.js:8 Conflicting plugin name "Y Area Chart", qualifying with id
registerPlugin @ index.js:8
t.a @ index.js:29
e.exports @ index.js:29
n @ index.js:29
e.exports @ index.js:29
(anonymous) @ index.js:29
n @ index.js:1
(anonymous) @ index.js:8
n @ index.js:1
(anonymous) @ index.js:1
n @ index.js:1
(anonymous) @ index.js:1
n @ index.js:1
(anonymous) @ index.js:1
n @ index.js:1
(anonymous) @ index.js:1
(anonymous) @ index.js:1
(anonymous) @ index.js:1
OrB5 @ index.js:1
a @ bootstrap:84
o @ index.out.js:1022
load (async)
ANye @ index.out.js:1105
a @ bootstrap:84
0 @ main.415f6731bf868c505884.js:1
a @ bootstrap:84
r @ bootstrap:45
i @ bootstrap:32
(anonymous) @ vendors~main.0871fff4484841fb1df5.js:2
index.js:8 Conflicting plugin name "X/Y Scatter Chart", qualifying with id
registerPlugin @ index.js:8
t.a @ index.js:29
e.exports @ index.js:29
n @ index.js:29
e.exports @ index.js:29
(anonymous) @ index.js:29
n @ index.js:1
(anonymous) @ index.js:8
n @ index.js:1
(anonymous) @ index.js:1
n @ index.js:1
(anonymous) @ index.js:1
n @ index.js:1
(anonymous) @ index.js:1
n @ index.js:1
(anonymous) @ index.js:1
(anonymous) @ index.js:1
(anonymous) @ index.js:1
OrB5 @ index.js:1
a @ bootstrap:84
o @ index.out.js:1022
load (async)
ANye @ index.out.js:1105
a @ bootstrap:84
0 @ main.415f6731bf868c505884.js:1
a @ bootstrap:84
r @ bootstrap:45
i @ bootstrap:32
(anonymous) @ vendors~main.0871fff4484841fb1df5.js:2
index.js:8 Conflicting plugin name "Treemap", qualifying with id
registerPlugin @ index.js:8
t.a @ index.js:29
e.exports @ index.js:29
n @ index.js:29
e.exports @ index.js:29
(anonymous) @ index.js:29
n @ index.js:1
(anonymous) @ index.js:8
n @ index.js:1
(anonymous) @ index.js:1
n @ index.js:1
(anonymous) @ index.js:1
n @ index.js:1
(anonymous) @ index.js:1
n @ index.js:1
(anonymous) @ index.js:1
(anonymous) @ index.js:1
(anonymous) @ index.js:1
OrB5 @ index.js:1
a @ bootstrap:84
o @ index.out.js:1022
load (async)
ANye @ index.out.js:1105
a @ bootstrap:84
0 @ main.415f6731bf868c505884.js:1
a @ bootstrap:84
r @ bootstrap:45
i @ bootstrap:32
(anonymous) @ vendors~main.0871fff4484841fb1df5.js:2
index.js:8 Conflicting plugin name "Sunburst", qualifying with id
registerPlugin @ index.js:8
t.a @ index.js:29
e.exports @ index.js:29
n @ index.js:29
e.exports @ index.js:29
(anonymous) @ index.js:29
n @ index.js:1
(anonymous) @ index.js:8
n @ index.js:1
(anonymous) @ index.js:1
n @ index.js:1
(anonymous) @ index.js:1
n @ index.js:1
(anonymous) @ index.js:1
n @ index.js:1
(anonymous) @ index.js:1
(anonymous) @ index.js:1
(anonymous) @ index.js:1
OrB5 @ index.js:1
a @ bootstrap:84
o @ index.out.js:1022
load (async)
ANye @ index.out.js:1105
a @ bootstrap:84
0 @ main.415f6731bf868c505884.js:1
a @ bootstrap:84
r @ bootstrap:45
i @ bootstrap:32
(anonymous) @ vendors~main.0871fff4484841fb1df5.js:2
index.js:8 Conflicting plugin name "Heatmap", qualifying with id
registerPlugin @ index.js:8
t.a @ index.js:29
e.exports @ index.js:29
n @ index.js:29
e.exports @ index.js:29
(anonymous) @ index.js:29
n @ index.js:1
(anonymous) @ index.js:8
n @ index.js:1
(anonymous) @ index.js:1
n @ index.js:1
(anonymous) @ index.js:1
n @ index.js:1
(anonymous) @ index.js:1
n @ index.js:1
(anonymous) @ index.js:1
(anonymous) @ index.js:1
(anonymous) @ index.js:1
OrB5 @ index.js:1
a @ bootstrap:84
o @ index.out.js:1022
load (async)
ANye @ index.out.js:1105
a @ bootstrap:84
0 @ main.415f6731bf868c505884.js:1
a @ bootstrap:84
r @ bootstrap:45
i @ bootstrap:32
(anonymous) @ vendors~main.0871fff4484841fb1df5.js:2
index.js:276 Plugin '@finos/perspective-jupyterlab' failed to activate.
(anonymous) @ index.js:276
Promise.catch (async)
(anonymous) @ index.js:275
e.start @ index.js:274
o @ index.out.js:1059
load (async)
ANye @ index.out.js:1105
a @ bootstrap:84
0 @ main.415f6731bf868c505884.js:1
a @ bootstrap:84
r @ bootstrap:45
i @ bootstrap:32
(anonymous) @ vendors~main.0871fff4484841fb1df5.js:2
index.js:277 Error: No provider for: jupyter.extensions.jupyterWidgetRegistry.
at u.e.resolveRequiredService (index.js:191)
at index.js:149
at Array.map (<anonymous>)
at u.e.activatePlugin (index.js:149)
at index.js:275
at Array.map (<anonymous>)
at u.e.start (index.js:274)
at o (index.out.js:1059)
(anonymous) @ index.js:277
Promise.catch (async)
(anonymous) @ index.js:275
e.start @ index.js:274
o @ index.out.js:1059
load (async)
ANye @ index.out.js:1105
a @ bootstrap:84
0 @ main.415f6731bf868c505884.js:1
a @ bootstrap:84
r @ bootstrap:45
i @ bootstrap:32
(anonymous) @ vendors~main.0871fff4484841fb1df5.js:2
index.js:50 Starting application in workspace: "/lab"
default.js:50 Starting WebSocket: ws://localhost:8888/api/kernels/0b39be42-b0dc-4e23-b78b-791d2dbcd642
default.js:50 Starting WebSocket: ws://localhost:8888/api/kernels/0b39be42-b0dc-4e23-b78b-791d2dbcd642
manager-base.js:274 Could not instantiate widget
(anonymous) @ manager-base.js:274
s @ manager-base.js:45
(anonymous) @ manager-base.js:26
a @ manager-base.js:18
Promise.then (async)
s @ manager-base.js:19
(anonymous) @ manager-base.js:20
Rtm6.D @ manager-base.js:16
e._make_model @ manager-base.js:258
(anonymous) @ manager-base.js:247
s @ manager-base.js:45
(anonymous) @ manager-base.js:26
(anonymous) @ manager-base.js:20
Rtm6.D @ manager-base.js:16
e.new_model @ manager-base.js:233
e.handle_comm_open @ manager-base.js:145
_handleCommOpen @ manager.js:63
_handleCommOpen @ default.js:981
async function (async)
_handleCommOpen @ default.js:980
_handleMessage @ default.js:1123
async function (async)
_handleMessage @ default.js:1087
(anonymous) @ default.js:94
Promise.then (async)
_onWSMessage @ default.js:91
utils.js:119 Error: Could not create a model.
at n (utils.js:119)
at async _handleCommOpen (manager.js:62)
at async f._handleCommOpen (default.js:980)
at async f._handleMessage (default.js:1122)
n @ utils.js:119
Promise.catch (async)
e.handle_comm_open @ manager-base.js:150
_handleCommOpen @ manager.js:63
_handleCommOpen @ default.js:981
async function (async)
_handleCommOpen @ default.js:980
_handleMessage @ default.js:1123
async function (async)
_handleMessage @ default.js:1087
(anonymous) @ default.js:94
Promise.then (async)
_onWSMessage @ default.js:91
default.js:987 Exception opening new comm
_handleCommOpen @ default.js:987
async function (async)
_handleCommOpen @ default.js:980
_handleMessage @ default.js:1123
async function (async)
_handleMessage @ default.js:1087
(anonymous) @ default.js:94
Promise.then (async)
_onWSMessage @ default.js:91
default.js:99 Error: Module @finos/perspective-jupyterlab, semver range ~0.4 is not registered as a widget module
at b.loadClass (manager.js:319)
at b.<anonymous> (manager-base.js:264)
at s (manager-base.js:45)
at Object.next (manager-base.js:26)
at manager-base.js:20
at new Promise (<anonymous>)
at Rtm6.D (manager-base.js:16)
at b.e._make_model (manager-base.js:258)
at b.<anonymous> (manager-base.js:247)
at s (manager-base.js:45)
(anonymous) @ default.js:99
Promise.catch (async)
_onWSMessage @ default.js:96
renderer.js:45 Error: Module @finos/perspective-jupyterlab, semver range ~0.4 is not registered as a widget module
at b.loadClass (manager.js:319)
at b.<anonymous> (manager-base.js:264)
at s (manager-base.js:45)
at Object.next (manager-base.js:26)
at manager-base.js:20
at new Promise (<anonymous>)
at Rtm6.D (manager-base.js:16)
at b.e._make_model (manager-base.js:258)
at b.<anonymous> (manager-base.js:247)
at s (manager-base.js:45)
renderModel @ renderer.js:45
async function (async)
renderModel @ renderer.js:30
createRenderedMimetype @ widget.js:429
createOutputItem @ widget.js:401
_insertOutput @ widget.js:384
onModelChanged @ widget.js:216
f @ index.js:478
c @ index.js:435
e.emit @ index.js:108
_onListChanged @ model.js:231
f @ index.js:478
c @ index.js:435
e.emit @ index.js:108
push @ observablelist.js:135
_add @ model.js:207
add @ model.js:128
_onIOPub @ widget.js:91
_handleIOPub @ future.js:216
async function (async)
_handleIOPub @ future.js:212
handleMsg @ future.js:186
_handleMessage @ default.js:1087
(anonymous) @ default.js:94
Promise.then (async)
_onWSMessage @ default.js:91
manager.js:319 Uncaught (in promise) Error: Module @finos/perspective-jupyterlab, semver range ~0.4 is not registered as a widget module
at b.loadClass (manager.js:319)
at b.<anonymous> (manager-base.js:264)
at s (manager-base.js:45)
at Object.next (manager-base.js:26)
at manager-base.js:20
at new Promise (<anonymous>)
at Rtm6.D (manager-base.js:16)
at b.e._make_model (manager-base.js:258)
at b.<anonymous> (manager-base.js:247)
at s (manager-base.js:45)
loadClass @ manager.js:319
(anonymous) @ manager-base.js:264
s @ manager-base.js:45
(anonymous) @ manager-base.js:26
(anonymous) @ manager-base.js:20
Rtm6.D @ manager-base.js:16
e._make_model @ manager-base.js:258
(anonymous) @ manager-base.js:247
s @ manager-base.js:45
(anonymous) @ manager-base.js:26
(anonymous) @ manager-base.js:20
Rtm6.D @ manager-base.js:16
e.new_model @ manager-base.js:233
e.handle_comm_open @ manager-base.js:145
_handleCommOpen @ manager.js:63
_handleCommOpen @ default.js:981
Promise.then (async)
e.register_model @ manager-base.js:209
register_model @ manager.js:383
(anonymous) @ manager-base.js:249
s @ manager-base.js:45
(anonymous) @ manager-base.js:26
(anonymous) @ manager-base.js:20
Rtm6.D @ manager-base.js:16
e.new_model @ manager-base.js:233
e.handle_comm_open @ manager-base.js:145
_handleCommOpen @ manager.js:63
_handleCommOpen @ default.js:981
async function (async)
_handleCommOpen @ default.js:980
_handleMessage @ default.js:1123
async function (async)
_handleMessage @ default.js:1087
(anonymous) @ default.js:94
Promise.then (async)
_onWSMessage @ default.js:91
manager.js:319 Uncaught (in promise) Error: Module @finos/perspective-jupyterlab, semver range ~0.4 is not registered as a widget module
at b.loadClass (manager.js:319)
at b.<anonymous> (manager-base.js:264)
at s (manager-base.js:45)
at Object.next (manager-base.js:26)
at manager-base.js:20
at new Promise (<anonymous>)
at Rtm6.D (manager-base.js:16)
at b.e._make_model (manager-base.js:258)
at b.<anonymous> (manager-base.js:247)
at s (manager-base.js:45)
loadClass @ manager.js:319
(anonymous) @ manager-base.js:264
s @ manager-base.js:45
(anonymous) @ manager-base.js:26
(anonymous) @ manager-base.js:20
Rtm6.D @ manager-base.js:16
e._make_model @ manager-base.js:258
(anonymous) @ manager-base.js:247
s @ manager-base.js:45
(anonymous) @ manager-base.js:26
(anonymous) @ manager-base.js:20
Rtm6.D @ manager-base.js:16
e.new_model @ manager-base.js:233
e.handle_comm_open @ manager-base.js:145
_handleCommOpen @ manager.js:63
_handleCommOpen @ default.js:981
Promise.then (async)
register_model @ manager.js:385
(anonymous) @ manager-base.js:249
s @ manager-base.js:45
(anonymous) @ manager-base.js:26
(anonymous) @ manager-base.js:20
Rtm6.D @ manager-base.js:16
e.new_model @ manager-base.js:233
e.handle_comm_open @ manager-base.js:145
_handleCommOpen @ manager.js:63
_handleCommOpen @ default.js:981
async function (async)
_handleCommOpen @ default.js:980
_handleMessage @ default.js:1123
async function (async)
_handleMessage @ default.js:1087
(anonymous) @ default.js:94
Promise.then (async)
_onWSMessage @ default.js:91
Environment:
A docker container using ubuntu:18.04 and conda enviroment with python 3.7
Additional Context:
When trying to force the latest version of the extension:
$ jupyter labextension install @finos/perspective-jupyterlab@0.4.5
An error occured.
ValueError:
"@finos/perspective-jupyterlab@0.4.5" is not compatible with the current JupyterLab
Conflicting Dependencies:
JupyterLab Extension Package
>=2.0.2 <2.1.0 >=1.2.1 <2.0.0 @jupyterlab/application
See the log file for details: /tmp/jupyterlab-debug-4ouph3l_.log
And the output of that log is
$ cat /tmp/jupyterlab-debug-4ouph3l_.log
Node v12.4.0
Yarn configuration loaded.
> /oneoff/.conda/envs/micro-alpha/bin/npm pack @finos/perspective-jupyterlab@0.4.5
npm notice
npm notice 📦 @finos/perspective-jupyterlab@0.4.5
npm notice === Tarball Contents ===
npm notice 0 package
npm notice 446B README.md
npm notice 0 dist
npm notice 2.3kB package.json
npm notice 3.4MB dist/index.js
npm notice === Tarball Details ===
npm notice name: @finos/perspective-jupyterlab
npm notice version: 0.4.5
npm notice filename: finos-perspective-jupyterlab-0.4.5.tgz
npm notice package size: 1.0 MB
npm notice unpacked size: 3.4 MB
npm notice shasum: a13a082a0df3c16c3e2c175b7c63b81cfbe27f9a
npm notice integrity: sha512-mEgVKwZ0ko1cN[...]e5Z/i7F4bV/2A==
npm notice total files: 5
npm notice
finos-perspective-jupyterlab-0.4.5.tgz
Traceback (most recent call last):
File "/oneoff/.conda/envs/micro-alpha/lib/python3.7/site-packages/jupyterlab/debuglog.py", line 47, in debug_logging
yield
File "/oneoff/.conda/envs/micro-alpha/lib/python3.7/site-packages/jupyterlab/labextensions.py", line 93, in start
ans = self.run_task()
File "/oneoff/.conda/envs/micro-alpha/lib/python3.7/site-packages/jupyterlab/labextensions.py", line 149, in run_task
for i, arg in enumerate(self.extra_args)
File "/oneoff/.conda/envs/micro-alpha/lib/python3.7/site-packages/jupyterlab/labextensions.py", line 149, in <listcomp>
for i, arg in enumerate(self.extra_args)
File "/oneoff/.conda/envs/micro-alpha/lib/python3.7/site-packages/jupyterlab/commands.py", line 388, in install_extension
return handler.install_extension(extension, pin=pin)
File "/oneoff/.conda/envs/micro-alpha/lib/python3.7/site-packages/jupyterlab/commands.py", line 603, in install_extension
info = self._install_extension(extension, tempdir, pin=pin)
File "/oneoff/.conda/envs/micro-alpha/lib/python3.7/site-packages/jupyterlab/commands.py", line 1550, in _install_extension
raise ValueError(msg)
ValueError:
"@finos/perspective-jupyterlab@0.4.5" is not compatible with the current JupyterLab
Conflicting Dependencies:
JupyterLab Extension Package
>=2.0.2 <2.1.0 >=1.2.1 <2.0.0 @jupyterlab/application
Exiting application: jupyter
Metadata
Assignees
Labels
No labels