jupyter-widgets / ipywidgets

Interactive Widgets for the Jupyter Notebook
https://ipywidgets.readthedocs.io
BSD 3-Clause "New" or "Revised" License
3.13k stars 948 forks source link

Unable to render ipywidgets in JupyterLab using docker-stacks #1683

Closed tylere closed 7 years ago

tylere commented 7 years ago

I am trying to get ipywidgets to render correctly in JupyterLab, using a Jupyter docker-stacks container. However, when I try to display a widget (using the Widget Basics notebook of jupyter-widgets/ipywidgets), instead of the widget output I get the following:

A Jupyter Widget

Specific versions used:

logs Installation output logs: ``` jovyan@f5f03510ae8b:~$ python -c "import jupyterlab; print(jupyterlab.__version__)" 0.27.0 ``` ``` jovyan@f5f03510ae8b:~$ pip install ipywidgets Collecting ipywidgets Downloading ipywidgets-7.0.0-py2.py3-none-any.whl (64kB) 100% |████████████████████████████████| 71kB 143kB/s Requirement already satisfied: ipython>=4.0.0; python_version >= "3.3" in /opt/conda/lib/p ython3.6/site-packages (from ipywidgets) Requirement already satisfied: nbformat>=4.2.0 in /opt/conda/lib/python3.6/site-packages ( from ipywidgets) Requirement already satisfied: traitlets>=4.3.1 in /opt/conda/lib/python3.6/site-packages (from ipywidgets) Requirement already satisfied: ipykernel>=4.5.1 in /opt/conda/lib/python3.6/site-packages (from ipywidgets) Collecting widgetsnbextension~=3.0.0 (from ipywidgets) Downloading widgetsnbextension-3.0.2-py2.py3-none-any.whl (2.5MB) 100% |████████████████████████████████| 2.5MB 97kB/s Requirement already satisfied: decorator in /opt/conda/lib/python3.6/site-packages (from i python>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: jedi>=0.10 in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: setuptools>=18.5 in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: pexpect; sys_platform != "win32" in /opt/conda/lib/python3. 6/site-packages (from ipython>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: pickleshare in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: simplegeneric>0.8 in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: pygments in /opt/conda/lib/python3.6/site-packages (from ip ython>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: prompt-toolkit<2.0.0,>=1.0.4 in /opt/conda/lib/python3.6/si te-packages (from ipython>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: ipython-genutils in /opt/conda/lib/python3.6/site-packages (from nbformat>=4.2.0->ipywidgets) Requirement already satisfied: jupyter-core in /opt/conda/lib/python3.6/site-packages (fro m nbformat>=4.2.0->ipywidgets) Requirement already satisfied: jsonschema!=2.5.0,>=2.4 in /opt/conda/lib/python3.6/site-pa ckages (from nbformat>=4.2.0->ipywidgets) Requirement already satisfied: six in /opt/conda/lib/python3.6/site-packages (from traitle ts>=4.3.1->ipywidgets) Requirement already satisfied: tornado>=4.0 in /opt/conda/lib/python3.6/site-packages (fro m ipykernel>=4.5.1->ipywidgets) Requirement already satisfied: jupyter-client in /opt/conda/lib/python3.6/site-packages (f rom ipykernel>=4.5.1->ipywidgets) Requirement already satisfied: notebook>=4.4.1 in /opt/conda/lib/python3.6/site-packages (from widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: wcwidth in /opt/conda/lib/python3.6/site-packages (from prompt-toolkit<2.0.0,>=1.0.4->ipython>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: pyzmq>=13 in /opt/conda/lib/python3.6/site-packages (from jupyter-client->ipykernel>=4.5.1->ipywidgets) Requirement already satisfied: python-dateutil>=2.1 in /opt/conda/lib/python3.6/site-packages (from jupyter-client->ipykernel>=4.5.1->ipywidgets) Requirement already satisfied: nbconvert in /opt/conda/lib/python3.6/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: terminado>=0.3.3; sys_platform != "win32" in /opt/conda/lib/python3.6/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: jinja2 in /opt/conda/lib/python3.6/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: entrypoints>=0.2.2 in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: mistune!=0.6 in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: testpath in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: pandocfilters>=1.4.1 in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: bleach in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: MarkupSafe>=0.23 in /opt/conda/lib/python3.6/site-packages(from jinja2->notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: html5lib!=0.9999,!=0.99999,<0.99999999,>=0.999 in /opt/conda/lib/python3.6/site-packages (from bleach->nbconvert->notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Installing collected packages: widgetsnbextension, ipywidgets Successfully installed ipywidgets-7.0.0 widgetsnbextension-3.0.2 ``` ``` jovyan@f5f03510ae8b:~$ jupyter labextension install @jupyter-widgets/jupyterlab-manager > npm pack @jupyter-widgets/jupyterlab-manager jupyter-widgets-jupyterlab-manager-0.27.0.tgz > node node-version-check.js > npm install npm WARN prefer global marked@0.3.6 should be installed with -g > canvas@1.6.6 install /opt/conda/share/jupyter/lab/staging/node_modules/canvas > node-gyp rebuild ./util/has_lib.sh: 31: ./util/has_lib.sh: pkg-config: not found gyp: Call to './util/has_lib.sh freetype' returned exit status 0 while in binding.gyp. while trying to load binding.gyp gyp ERR! configure error gyp ERR! stack Error: `gyp` failed with exit code: 1 gyp ERR! stack at ChildProcess.onCpExit (/opt/conda/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:305:16) gyp ERR! stack at emitTwo (events.js:106:13) gyp ERR! stack at ChildProcess.emit (events.js:191:7) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12) gyp ERR! System Linux 4.9.36-moby gyp ERR! command "/opt/conda/bin/node" "/opt/conda/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /opt/conda/share/jupyter/lab/staging/node_modules/canvas gyp ERR! node -v v6.11.0 gyp ERR! node-gyp -v v3.4.0 gyp ERR! not ok > spawn-sync@1.0.15 postinstall /opt/conda/share/jupyter/lab/staging/node_modules/spawn-sync > node postinstall @jupyterlab/application-top@0.10.2 /opt/conda/share/jupyter/lab/staging ├─┬ @jupyter-widgets/jupyterlab-manager@0.27.0 │ ├─┬ @jupyter-widgets/base@1.0.1 │ │ ├── @jupyter-widgets/schema@0.3.0 │ │ ├─┬ @types/backbone@1.3.36 │ │ │ ├── @types/jquery@3.2.12 │ │ │ └── @types/underscore@1.8.2 │ │ ├── @types/lodash@4.14.74 │ │ ├── @types/semver@5.4.0 │ │ ├── backbone@1.2.3 │ │ ├── jquery@3.2.1 │ │ ├── lodash@4.17.4 │ │ └── semver@5.4.1 │ ├─┬ @jupyter-widgets/controls@1.0.1 │ │ ├── d3-format@0.5.1 │ │ ├── jquery-ui@1.12.1 │ │ └── underscore@1.8.3 │ └── @jupyter-widgets/output@1.0.1 ├─┬ @jupyterlab/application@0.10.0 │ ├── @phosphor/application@1.5.0 │ └── @phosphor/properties@1.1.2 ├── @jupyterlab/application-extension@0.10.0 ├─┬ @jupyterlab/apputils@0.10.0 │ ├── @phosphor/domutils@1.1.2 │ └─┬ sanitize-html@1.14.1 │ ├─┬ htmlparser2@3.9.2 │ │ ├── domelementtype@1.3.0 │ │ ├── domhandler@2.4.1 │ │ ├─┬ domutils@1.6.2 │ │ │ └─┬ dom-serializer@0.1.0 │ │ │ └── domelementtype@1.1.3 │ │ └── entities@1.1.1 │ ├── regexp-quote@0.0.0 │ └── xtend@4.0.1 ├── @jupyterlab/apputils-extension@0.10.2 ├── @jupyterlab/cells@0.10.0 ├── @jupyterlab/codeeditor@0.10.0 ├─┬ @jupyterlab/codemirror@0.10.0 │ └── codemirror@5.29.0 ├── @jupyterlab/codemirror-extension@0.10.0 ├── @jupyterlab/completer@0.10.0 ├── @jupyterlab/completer-extension@0.10.0 ├── @jupyterlab/console@0.10.0 ├── @jupyterlab/console-extension@0.10.0 ├─┬ @jupyterlab/coreutils@0.10.0 │ ├─┬ ajv@5.2.2 │ │ ├── co@4.6.0 │ │ ├── fast-deep-equal@1.0.0 │ │ └── json-schema-traverse@0.3.1 │ ├── minimist@1.2.0 │ ├── moment@2.18.1 │ ├── path-posix@1.0.0 │ └─┬ url-parse@1.1.9 │ ├── querystringify@1.0.0 │ └── requires-port@1.0.0 ├─┬ @jupyterlab/csvviewer@0.10.0 │ ├── @phosphor/datagrid@0.1.5 │ └─┬ d3-dsv@1.0.5 │ ├── commander@2.11.0 │ ├── iconv-lite@0.4.18 │ └── rw@1.3.3 ├── @jupyterlab/csvviewer-extension@0.10.0 ├── @jupyterlab/docmanager@0.10.0 ├── @jupyterlab/docmanager-extension@0.10.0 ├── @jupyterlab/docregistry@0.10.0 ├── @jupyterlab/faq-extension@0.10.0 ├─┬ @jupyterlab/filebrowser@0.10.0 │ └── @phosphor/dragdrop@1.3.0 ├── @jupyterlab/filebrowser-extension@0.10.0 ├── @jupyterlab/fileeditor@0.10.0 ├── @jupyterlab/fileeditor-extension@0.10.0 ├── @jupyterlab/help-extension@0.10.0 ├── @jupyterlab/imageviewer@0.10.0 ├── @jupyterlab/imageviewer-extension@0.10.0 ├── @jupyterlab/inspector@0.10.0 ├── @jupyterlab/inspector-extension@0.10.0 ├── @jupyterlab/launcher@0.10.0 ├── @jupyterlab/launcher-extension@0.10.0 ├── @jupyterlab/markdownviewer-extension@0.10.0 ├── @jupyterlab/notebook@0.10.0 ├── @jupyterlab/notebook-extension@0.10.0 ├── @jupyterlab/outputarea@0.10.0 ├── @jupyterlab/pdf-extension@0.2.0 ├─┬ @jupyterlab/rendermime@0.10.0 │ ├── ansi_up@1.3.0 │ └── marked@0.3.6 ├── @jupyterlab/rendermime-interfaces@0.3.1 ├── @jupyterlab/running@0.10.0 ├── @jupyterlab/running-extension@0.10.0 ├── @jupyterlab/services@0.49.0 ├── @jupyterlab/settingeditor-extension@0.5.0 ├── @jupyterlab/shortcuts-extension@0.10.0 ├── @jupyterlab/tabmanager-extension@0.10.0 ├─┬ @jupyterlab/terminal@0.10.0 │ └── xterm@2.8.1 ├── @jupyterlab/terminal-extension@0.10.0 ├── @jupyterlab/theme-dark-extension@0.10.0 ├── @jupyterlab/theme-light-extension@0.10.0 ├── @jupyterlab/tooltip@0.10.0 ├── @jupyterlab/tooltip-extension@0.10.0 ├── @jupyterlab/vega2-extension@0.10.0 ├── @phosphor/algorithm@1.1.2 ├─┬ @phosphor/commands@1.4.0 │ └── @phosphor/keyboard@1.1.2 ├── @phosphor/coreutils@1.3.0 ├── @phosphor/disposable@1.1.2 ├─┬ @phosphor/messaging@1.2.2 │ └── @phosphor/collections@1.1.2 ├── @phosphor/signaling@1.2.2 ├── @phosphor/virtualdom@1.1.2 ├── @phosphor/widgets@1.5.0 ├─┬ css-loader@0.27.3 │ ├─┬ babel-code-frame@6.26.0 │ │ ├─┬ chalk@1.1.3 │ │ │ ├── ansi-styles@2.2.1 │ │ │ ├── escape-string-regexp@1.0.5 │ │ │ ├─┬ has-ansi@2.0.0 │ │ │ │ └── ansi-regex@2.1.1 │ │ │ ├── strip-ansi@3.0.1 │ │ │ └── supports-color@2.0.0 │ │ ├── esutils@2.0.2 │ │ └── js-tokens@3.0.2 │ ├─┬ css-selector-tokenizer@0.7.0 │ │ ├── cssesc@0.1.0 │ │ ├── fastparse@1.1.1 │ │ └─┬ regexpu-core@1.0.0 │ │ ├── regenerate@1.3.2 │ │ ├── regjsgen@0.2.0 │ │ └─┬ regjsparser@0.1.5 │ │ └── jsesc@0.5.0 │ ├─┬ cssnano@3.10.0 │ │ ├─┬ autoprefixer@6.7.7 │ │ │ ├─┬ browserslist@1.7.7 │ │ │ │ └── electron-to-chromium@1.3.18 │ │ │ ├── caniuse-db@1.0.30000718 │ │ │ ├── normalize-range@0.1.2 │ │ │ └── num2fraction@1.2.2 │ │ ├── decamelize@1.2.0 │ │ ├── defined@1.0.0 │ │ ├─┬ has@1.0.1 │ │ │ └── function-bind@1.1.1 │ │ ├─┬ postcss-calc@5.3.1 │ │ │ ├── postcss-message-helpers@2.0.0 │ │ │ └─┬ reduce-css-calc@1.3.0 │ │ │ ├── balanced-match@0.4.2 │ │ │ ├── math-expression-evaluator@1.2.17 │ │ │ └── reduce-function-call@1.0.2 │ │ ├─┬ postcss-colormin@2.2.2 │ │ │ └─┬ colormin@1.1.2 │ │ │ ├─┬ color@0.11.4 │ │ │ │ ├── clone@1.0.2 │ │ │ │ ├─┬ color-convert@1.9.0 │ │ │ │ │ └── color-name@1.1.3 │ │ │ │ └── color-string@0.3.0 │ │ │ └── css-color-names@0.0.4 │ │ ├── postcss-convert-values@2.6.1 │ │ ├── postcss-discard-comments@2.0.4 │ │ ├── postcss-discard-duplicates@2.1.0 │ │ ├── postcss-discard-empty@2.1.0 │ │ ├── postcss-discard-overridden@0.1.1 │ │ ├─┬ postcss-discard-unused@2.2.3 │ │ │ └── uniqs@2.0.0 │ │ ├─┬ postcss-filter-plugins@2.0.2 │ │ │ └─┬ uniqid@4.1.1 │ │ │ └── macaddress@0.2.8 │ │ ├── postcss-merge-idents@2.1.7 │ │ ├── postcss-merge-longhand@2.0.2 │ │ ├─┬ postcss-merge-rules@2.1.2 │ │ │ ├─┬ caniuse-api@1.6.1 │ │ │ │ ├── lodash.memoize@4.1.2 │ │ │ │ └── lodash.uniq@4.5.0 │ │ │ ├─┬ postcss-selector-parser@2.2.3 │ │ │ │ ├── flatten@1.0.2 │ │ │ │ ├── indexes-of@1.0.1 │ │ │ │ └── uniq@1.0.1 │ │ │ └── vendors@1.0.1 │ │ ├── postcss-minify-font-values@1.0.5 │ │ ├── postcss-minify-gradients@1.0.5 │ │ ├─┬ postcss-minify-params@1.2.2 │ │ │ └── alphanum-sort@1.0.2 │ │ ├── postcss-minify-selectors@2.1.1 │ │ ├── postcss-normalize-charset@1.1.1 │ │ ├─┬ postcss-normalize-url@3.0.8 │ │ │ ├── is-absolute-url@2.1.0 │ │ │ └─┬ normalize-url@1.9.1 │ │ │ ├── prepend-http@1.0.4 │ │ │ ├─┬ query-string@4.3.4 │ │ │ │ └── strict-uri-encode@1.1.0 │ │ │ └─┬ sort-keys@1.1.2 │ │ │ └── is-plain-obj@1.1.0 │ │ ├── postcss-ordered-values@2.2.3 │ │ ├── postcss-reduce-idents@2.4.0 │ │ ├── postcss-reduce-initial@1.0.1 │ │ ├── postcss-reduce-transforms@1.0.4 │ │ ├─┬ postcss-svgo@2.1.6 │ │ │ ├─┬ is-svg@2.1.0 │ │ │ │ └── html-comment-regex@1.1.1 │ │ │ └─┬ svgo@0.7.2 │ │ │ ├─┬ coa@1.0.4 │ │ │ │ └── q@1.5.0 │ │ │ ├── colors@1.1.2 │ │ │ ├─┬ csso@2.3.2 │ │ │ │ ├── clap@1.2.0 │ │ │ │ └── source-map@0.5.7 │ │ │ ├─┬ js-yaml@3.7.0 │ │ │ │ ├─┬ argparse@1.0.9 │ │ │ │ │ └── sprintf-js@1.0.3 │ │ │ │ └── esprima@2.7.3 │ │ │ ├── sax@1.2.4 │ │ │ └── whet.extend@0.9.9 │ │ ├── postcss-unique-selectors@2.0.2 │ │ ├── postcss-value-parser@3.3.0 │ │ └── postcss-zindex@2.2.0 │ ├─┬ loader-utils@1.1.0 │ │ ├── big.js@3.1.3 │ │ └── emojis-list@2.1.0 │ ├── lodash.camelcase@4.3.0 │ ├── object-assign@4.1.1 │ ├─┬ postcss@5.2.17 │ │ ├── js-base64@2.1.9 │ │ ├── source-map@0.5.7 │ │ └── supports-color@3.2.3 │ ├─┬ postcss-modules-extract-imports@1.1.0 │ │ └─┬ postcss@6.0.10 │ │ ├─┬ chalk@2.1.0 │ │ │ └── ansi-styles@3.2.0 │ │ ├── source-map@0.5.7 │ │ └─┬ supports-color@4.2.1 │ │ └── has-flag@2.0.0 │ ├─┬ postcss-modules-local-by-default@1.2.0 │ │ └─┬ postcss@6.0.10 │ │ ├─┬ chalk@2.1.0 │ │ │ └── ansi-styles@3.2.0 │ │ ├── source-map@0.5.7 │ │ └─┬ supports-color@4.2.1 │ │ └── has-flag@2.0.0 │ ├─┬ postcss-modules-scope@1.1.0 │ │ └─┬ postcss@6.0.10 │ │ ├─┬ chalk@2.1.0 │ │ │ └── ansi-styles@3.2.0 │ │ ├── source-map@0.5.7 │ │ └─┬ supports-color@4.2.1 │ │ └── has-flag@2.0.0 │ ├─┬ postcss-modules-values@1.3.0 │ │ ├── icss-replace-symbols@1.1.0 │ │ └─┬ postcss@6.0.10 │ │ ├─┬ chalk@2.1.0 │ │ │ └── ansi-styles@3.2.0 │ │ ├── source-map@0.5.7 │ │ └─┬ supports-color@4.2.1 │ │ └── has-flag@2.0.0 │ └── source-list-map@0.1.8 ├── d3@3.5.17 ├── es6-promise@4.1.1 ├── file-loader@0.10.1 ├── font-awesome@4.7.0 ├─┬ fs-extra@2.1.2 │ ├── graceful-fs@4.1.11 │ └── jsonfile@2.4.0 ├─┬ glob@7.1.2 │ ├── fs.realpath@1.0.0 │ ├─┬ inflight@1.0.6 │ │ └── wrappy@1.0.2 │ ├── inherits@2.0.3 │ ├─┬ minimatch@3.0.4 │ │ └─┬ brace-expansion@1.1.8 │ │ ├── balanced-match@1.0.0 │ │ └── concat-map@0.0.1 │ ├── once@1.4.0 │ └── path-is-absolute@1.0.1 ├─┬ handlebars@4.0.10 │ ├── async@1.5.2 │ ├─┬ optimist@0.6.1 │ │ ├── minimist@0.0.10 │ │ └── wordwrap@0.0.3 │ ├─┬ source-map@0.4.4 │ │ └── amdefine@1.0.1 │ └─┬ uglify-js@2.8.29 │ ├── source-map@0.5.7 │ ├── uglify-to-browserify@1.0.2 │ └─┬ yargs@3.10.0 │ ├── camelcase@1.2.1 │ ├─┬ cliui@2.1.0 │ │ ├─┬ center-align@0.1.3 │ │ │ ├─┬ align-text@0.1.4 │ │ │ │ ├── longest@1.0.1 │ │ │ │ └── repeat-string@1.6.1 │ │ │ └── lazy-cache@1.0.4 │ │ ├── right-align@0.1.3 │ │ └── wordwrap@0.0.2 │ └── window-size@0.1.0 ├── json-loader@0.5.7 ├── raw-loader@0.5.1 ├─┬ sort-package-json@1.7.0 │ └── sort-object-keys@1.1.2 ├── style-loader@0.13.2 ├─┬ url-loader@0.5.9 │ └── mime@1.3.6 ├─┬ vega@2.6.5 │ ├─┬ d3-cloud@1.2.4 │ │ └── d3-dispatch@1.0.3 │ ├─┬ d3-geo-projection@0.2.16 │ │ └─┬ brfs@1.4.3 │ │ ├─┬ quote-stream@1.0.2 │ │ │ └── buffer-equal@0.0.1 │ │ ├─┬ resolve@1.4.0 │ │ │ └── path-parse@1.0.5 │ │ ├─┬ static-module@1.5.0 │ │ │ ├─┬ duplexer2@0.0.2 │ │ │ │ └─┬ readable-stream@1.1.14 │ │ │ │ ├── isarray@0.0.1 │ │ │ │ └── string_decoder@0.10.31 │ │ │ ├─┬ escodegen@1.3.3 │ │ │ │ ├── esprima@1.1.1 │ │ │ │ ├── estraverse@1.5.1 │ │ │ │ ├── esutils@1.0.0 │ │ │ │ └── source-map@0.1.43 │ │ │ ├─┬ falafel@2.1.0 │ │ │ │ ├── foreach@2.0.5 │ │ │ │ ├── isarray@0.0.1 │ │ │ │ └── object-keys@1.0.11 │ │ │ ├── object-inspect@0.4.0 │ │ │ ├─┬ quote-stream@0.0.0 │ │ │ │ └── minimist@0.0.8 │ │ │ ├─┬ readable-stream@1.0.34 │ │ │ │ ├── isarray@0.0.1 │ │ │ │ └── string_decoder@0.10.31 │ │ │ ├── shallow-copy@0.0.1 │ │ │ ├─┬ static-eval@0.2.4 │ │ │ │ └─┬ escodegen@0.0.28 │ │ │ │ ├── esprima@1.0.4 │ │ │ │ └── estraverse@1.3.2 │ │ │ └─┬ through2@0.4.2 │ │ │ └─┬ xtend@2.1.2 │ │ │ └── object-keys@0.4.0 │ │ └── through2@2.0.3 │ ├─┬ datalib@1.8.0 │ │ ├── d3-dsv@0.1.14 │ │ ├── d3-format@0.4.2 │ │ ├── d3-time@0.1.1 │ │ ├── d3-time-format@0.2.1 │ │ ├─┬ request@2.81.0 │ │ │ ├── aws-sign2@0.6.0 │ │ │ ├── aws4@1.6.0 │ │ │ ├── caseless@0.12.0 │ │ │ ├─┬ combined-stream@1.0.5 │ │ │ │ └── delayed-stream@1.0.0 │ │ │ ├── extend@3.0.1 │ │ │ ├── forever-agent@0.6.1 │ │ │ ├─┬ form-data@2.1.4 │ │ │ │ └── asynckit@0.4.0 │ │ │ ├─┬ har-validator@4.2.1 │ │ │ │ ├── ajv@4.11.8 │ │ │ │ └── har-schema@1.0.5 │ │ │ ├─┬ hawk@3.1.3 │ │ │ │ ├── boom@2.10.1 │ │ │ │ ├── cryptiles@2.0.5 │ │ │ │ ├── hoek@2.16.3 │ │ │ │ └── sntp@1.0.9 │ │ │ ├─┬ http-signature@1.1.1 │ │ │ │ ├── assert-plus@0.2.0 │ │ │ │ ├─┬ jsprim@1.4.1 │ │ │ │ │ ├── assert-plus@1.0.0 │ │ │ │ │ ├── extsprintf@1.3.0 │ │ │ │ │ ├── json-schema@0.2.3 │ │ │ │ │ └─┬ verror@1.10.0 │ │ │ │ │ └── assert-plus@1.0.0 │ │ │ │ └─┬ sshpk@1.13.1 │ │ │ │ ├── asn1@0.2.3 │ │ │ │ ├── assert-plus@1.0.0 │ │ │ │ ├── bcrypt-pbkdf@1.0.1 │ │ │ │ ├─┬ dashdash@1.14.1 │ │ │ │ │ └── assert-plus@1.0.0 │ │ │ │ ├── ecc-jsbn@0.1.1 │ │ │ │ ├─┬ getpass@0.1.7 │ │ │ │ │ └── assert-plus@1.0.0 │ │ │ │ ├── jsbn@0.1.1 │ │ │ │ └── tweetnacl@0.14.5 │ │ │ ├── is-typedarray@1.0.0 │ │ │ ├── isstream@0.1.2 │ │ │ ├── json-stringify-safe@5.0.1 │ │ │ ├─┬ mime-types@2.1.16 │ │ │ │ └── mime-db@1.29.0 │ │ │ ├── oauth-sign@0.8.2 │ │ │ ├── performance-now@0.2.0 │ │ │ ├── qs@6.4.0 │ │ │ ├── safe-buffer@5.1.1 │ │ │ ├── stringstream@0.0.5 │ │ │ ├── tough-cookie@2.3.2 │ │ │ ├── tunnel-agent@0.6.0 │ │ │ └── uuid@3.1.0 │ │ └─┬ sync-request@2.2.0 │ │ ├─┬ concat-stream@1.6.0 │ │ │ └── typedarray@0.0.6 │ │ ├── http-response-object@1.1.0 │ │ ├─┬ spawn-sync@1.0.15 │ │ │ └── os-shim@0.1.3 │ │ └─┬ then-request@2.2.0 │ │ ├── caseless@0.11.0 │ │ ├─┬ http-basic@2.5.1 │ │ │ └── caseless@0.11.0 │ │ └─┬ promise@7.3.1 │ │ └── asap@2.0.6 │ ├─┬ topojson@1.6.27 │ │ ├── d3-queue@2.0.3 │ │ ├── optimist@0.3.7 │ │ └─┬ shapefile@0.3.1 │ │ ├── d3-queue@1.2.3 │ │ └── iconv-lite@0.2.11 │ ├── vega-dataflow@1.4.3 │ ├── vega-event-selector@1.1.0 │ ├── vega-expression@1.2.1 │ ├── vega-logging@1.0.2 │ ├── vega-scenegraph@1.1.0 │ └─┬ yargs@3.32.0 │ ├── camelcase@2.1.1 │ ├─┬ cliui@3.2.0 │ │ └── wrap-ansi@2.1.0 │ ├─┬ os-locale@1.4.0 │ │ └─┬ lcid@1.0.0 │ │ └── invert-kv@1.0.0 │ ├─┬ string-width@1.0.2 │ │ ├── code-point-at@1.1.0 │ │ └─┬ is-fullwidth-code-point@1.0.0 │ │ └── number-is-nan@1.0.1 │ ├── window-size@0.1.4 │ └── y18n@3.2.1 ├── vega-embed@2.2.0 ├─┬ vega-lite@1.3.1 │ ├─┬ datalib@1.7.3 │ │ ├── d3-dsv@0.1.14 │ │ └── d3-format@0.4.2 │ ├─┬ json-stable-stringify@1.0.1 │ │ └── jsonify@0.0.0 │ └─┬ yargs@6.3.0 │ ├── camelcase@3.0.0 │ ├── get-caller-file@1.0.2 │ ├─┬ read-pkg-up@1.0.1 │ │ ├─┬ find-up@1.1.2 │ │ │ ├── path-exists@2.1.0 │ │ │ └─┬ pinkie-promise@2.0.1 │ │ │ └── pinkie@2.0.4 │ │ └─┬ read-pkg@1.1.0 │ │ ├─┬ load-json-file@1.1.0 │ │ │ ├─┬ parse-json@2.2.0 │ │ │ │ └─┬ error-ex@1.3.1 │ │ │ │ └── is-arrayish@0.2.1 │ │ │ ├── pify@2.3.0 │ │ │ └─┬ strip-bom@2.0.0 │ │ │ └── is-utf8@0.2.1 │ │ ├─┬ normalize-package-data@2.4.0 │ │ │ ├── hosted-git-info@2.5.0 │ │ │ ├─┬ is-builtin-module@1.0.0 │ │ │ │ └── builtin-modules@1.1.1 │ │ │ └─┬ validate-npm-package-license@3.0.1 │ │ │ ├─┬ spdx-correct@1.0.2 │ │ │ │ └── spdx-license-ids@1.2.2 │ │ │ └── spdx-expression-parse@1.0.4 │ │ └── path-type@1.1.0 │ ├── require-directory@2.1.1 │ ├── require-main-filename@1.0.1 │ ├── set-blocking@2.0.0 │ ├── which-module@1.0.0 │ ├── window-size@0.2.0 │ └─┬ yargs-parser@4.2.1 │ └── camelcase@3.0.0 └─┬ webpack@2.7.0 ├── acorn@5.1.1 ├─┬ acorn-dynamic-import@2.0.2 │ └── acorn@4.0.13 ├── ajv@4.11.8 ├── ajv-keywords@1.5.1 ├── async@2.5.0 ├── enhanced-resolve@3.4.1 ├── interpret@1.0.3 ├── json5@0.5.1 ├── loader-runner@2.3.0 ├── loader-utils@0.2.17 ├─┬ memory-fs@0.4.1 │ ├─┬ errno@0.1.4 │ │ └── prr@0.0.0 │ └─┬ readable-stream@2.3.3 │ ├── core-util-is@1.0.2 │ ├── isarray@1.0.0 │ ├── process-nextick-args@1.0.7 │ ├── string_decoder@1.0.3 │ └── util-deprecate@1.0.2 ├─┬ mkdirp@0.5.1 │ └── minimist@0.0.8 ├─┬ node-libs-browser@2.0.0 │ ├── assert@1.4.1 │ ├─┬ browserify-zlib@0.1.4 │ │ └── pako@0.2.9 │ ├─┬ buffer@4.9.1 │ │ ├── base64-js@1.2.1 │ │ └── ieee754@1.1.8 │ ├─┬ console-browserify@1.1.0 │ │ └── date-now@0.1.4 │ ├── constants-browserify@1.0.0 │ ├─┬ crypto-browserify@3.11.1 │ │ ├─┬ browserify-cipher@1.0.0 │ │ │ ├─┬ browserify-aes@1.0.6 │ │ │ │ └── buffer-xor@1.0.3 │ │ │ ├─┬ browserify-des@1.0.0 │ │ │ │ └── des.js@1.0.0 │ │ │ └─┬ evp_bytestokey@1.0.2 │ │ │ └─┬ md5.js@1.3.4 │ │ │ └── hash-base@3.0.4 │ │ ├─┬ browserify-sign@4.0.4 │ │ │ ├── bn.js@4.11.8 │ │ │ ├── browserify-rsa@4.0.1 │ │ │ ├─┬ elliptic@6.4.0 │ │ │ │ ├── brorand@1.1.0 │ │ │ │ ├── hash.js@1.1.3 │ │ │ │ ├── hmac-drbg@1.0.1 │ │ │ │ ├── minimalistic-assert@1.0.0 │ │ │ │ └── minimalistic-crypto-utils@1.0.1 │ │ │ └─┬ parse-asn1@5.1.0 │ │ │ └── asn1.js@4.9.1 │ │ ├── create-ecdh@4.0.0 │ │ ├─┬ create-hash@1.1.3 │ │ │ ├── cipher-base@1.0.4 │ │ │ ├─┬ ripemd160@2.0.1 │ │ │ │ └── hash-base@2.0.2 │ │ │ └── sha.js@2.4.8 │ │ ├── create-hmac@1.1.6 │ │ ├─┬ diffie-hellman@5.0.2 │ │ │ └── miller-rabin@4.0.0 │ │ ├── pbkdf2@3.0.13 │ │ ├── public-encrypt@4.0.0 │ │ └── randombytes@2.0.5 │ ├── domain-browser@1.1.7 │ ├── events@1.1.1 │ ├── https-browserify@0.0.1 │ ├── os-browserify@0.2.1 │ ├── path-browserify@0.0.0 │ ├── process@0.11.10 │ ├── punycode@1.4.1 │ ├── querystring-es3@0.2.1 │ ├── stream-browserify@2.0.1 │ ├─┬ stream-http@2.7.2 │ │ ├── builtin-status-codes@3.0.0 │ │ └── to-arraybuffer@1.0.1 │ ├── string_decoder@0.10.31 │ ├─┬ timers-browserify@2.0.4 │ │ └── setimmediate@1.0.5 │ ├── tty-browserify@0.0.0 │ ├─┬ url@0.11.0 │ │ ├── punycode@1.3.2 │ │ └── querystring@0.2.0 │ ├─┬ util@0.10.3 │ │ └── inherits@2.0.1 │ └─┬ vm-browserify@0.0.4 │ └── indexof@0.0.1 ├── source-map@0.5.7 ├─┬ supports-color@3.2.3 │ └── has-flag@1.0.0 ├── tapable@0.2.8 ├─┬ watchpack@1.4.0 │ ├── async@2.5.0 │ └─┬ chokidar@1.7.0 │ ├─┬ anymatch@1.3.2 │ │ ├─┬ micromatch@2.3.11 │ │ │ ├─┬ arr-diff@2.0.0 │ │ │ │ └── arr-flatten@1.1.0 │ │ │ ├── array-unique@0.2.1 │ │ │ ├─┬ braces@1.8.5 │ │ │ │ ├─┬ expand-range@1.8.2 │ │ │ │ │ └─┬ fill-range@2.2.3 │ │ │ │ │ ├── is-number@2.1.0 │ │ │ │ │ ├── isobject@2.1.0 │ │ │ │ │ └─┬ randomatic@1.1.7 │ │ │ │ │ ├─┬ is-number@3.0.0 │ │ │ │ │ │ └── kind-of@3.2.2 │ │ │ │ │ └── kind-of@4.0.0 │ │ │ │ ├── preserve@0.2.0 │ │ │ │ └── repeat-element@1.1.2 │ │ │ ├─┬ expand-brackets@0.1.5 │ │ │ │ └── is-posix-bracket@0.1.1 │ │ │ ├── extglob@0.3.2 │ │ │ ├── filename-regex@2.0.1 │ │ │ ├─┬ kind-of@3.2.2 │ │ │ │ └── is-buffer@1.1.5 │ │ │ ├─┬ object.omit@2.0.1 │ │ │ │ ├─┬ for-own@0.1.5 │ │ │ │ │ └── for-in@1.0.2 │ │ │ │ └── is-extendable@0.1.1 │ │ │ ├─┬ parse-glob@3.0.4 │ │ │ │ ├── glob-base@0.3.0 │ │ │ │ └── is-dotfile@1.0.3 │ │ │ └─┬ regex-cache@0.4.3 │ │ │ ├── is-equal-shallow@0.1.3 │ │ │ └── is-primitive@2.0.0 │ │ └─┬ normalize-path@2.1.1 │ │ └── remove-trailing-separator@1.1.0 │ ├── async-each@1.0.1 │ ├── glob-parent@2.0.0 │ ├─┬ is-binary-path@1.0.1 │ │ └── binary-extensions@1.10.0 │ ├─┬ is-glob@2.0.1 │ │ └── is-extglob@1.0.0 │ └─┬ readdirp@2.1.0 │ └── set-immediate-shim@1.0.1 ├─┬ webpack-sources@1.0.1 │ ├── source-list-map@2.0.0 │ └── source-map@0.5.7 └─┬ yargs@6.6.0 └── camelcase@3.0.0 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: canvas@1.6.6 (node_modules/canvas): npm WARN optional SKIPPING OPTIONAL DEPENDENCY: canvas@1.6.6 install: `node-gyp rebuild` npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1 > npm run build > @jupyterlab/application-top@0.10.2 build /opt/conda/share/jupyter/lab/staging > webpack Hash: 33944ae1ab9ff2806120 Version: webpack 2.7.0 Time: 8899ms Asset Size Chunks Chunk Names 674f50d287a8c48dc19ba404d20fe713.eot 166 kB [emitted] af7ae505a9eed503f8b8e6982036873e.woff2 77.2 kB [emitted] fee66e712a8a08eef5805a46892932ad.woff 98 kB [emitted] b06871f281fee6b241d60582ae9369b9.ttf 166 kB [emitted] 912ec66d7572ff821749319396470bde.svg 444 kB [emitted] [big] 0.bundle.js 893 kB 0 [emitted] [big] main.bundle.js 8.29 MB 1 [emitted] [big] main 0.bundle.js.map 1.08 MB 0 [emitted] main.bundle.js.map 9.96 MB 1 [emitted] main [26] ./~/@jupyterlab/application/lib/index.js 5.48 kB {1} [built] [457] ./~/@jupyter-widgets/jupyterlab-manager/lib/index.js 346 bytes {1} [optional] [built] [458] ./~/@jupyterlab/application-extension/lib/index.js 6.12 kB {1} [optional] [built] [459] ./~/@jupyterlab/apputils-extension/lib/index.js 7.91 kB {1} [optional] [built] [460] ./~/@jupyterlab/codemirror-extension/lib/index.js 10.5 kB {1} [optional] [built] [461] ./~/@jupyterlab/completer-extension/lib/index.js 7.09 kB {1} [optional] [built] [462] ./~/@jupyterlab/console-extension/lib/index.js 12.5 kB {1} [optional] [built] [463] ./~/@jupyterlab/csvviewer-extension/lib/index.js 1.79 kB {1} [optional] [built] [464] ./~/@jupyterlab/docmanager-extension/lib/index.js 10.1 kB {1} [optional] [built] [465] ./~/@jupyterlab/faq-extension/lib/index.js 3.78 kB {1} [optional] [built] [466] ./~/@jupyterlab/filebrowser-extension/lib/index.js 11.9 kB {1} [optional] [built] [467] ./~/@jupyterlab/fileeditor-extension/lib/index.js 11.8 kB {1} [optional] [built] [468] ./~/@jupyterlab/help-extension/lib/index.js 8.84 kB {1} [optional] [built] [469] ./~/@jupyterlab/imageviewer-extension/lib/index.js 4.25 kB {1} [optional] [built] [499] ./build/index.out.js 8.38 kB {1} [built] + 1179 hidden modules ``` ``` jovyan@f5f03510ae8b:~$ git clone https://github.com/jupyter-widgets/ipywidgets.git Cloning into 'ipywidgets'... remote: Counting objects: 32883, done. remote: Compressing objects: 100% (72/72), done. remote: Total 32883 (delta 66), reused 83 (delta 44), pack-reused 32767 Receiving objects: 100% (32883/32883), 20.51 MiB | 115.00 KiB/s, done. Resolving deltas: 100% (19931/19931), done. Checking connectivity... done. ```
tylere commented 7 years ago

Not sure if this is related, but the Jupyter lab User Settings directory is non-existent in the docker-stacks container, and instead there is a file named migrated.

jovyan@f5f03510ae8b:~$ jupyter labextension list
JupyterLab v0.27.0
Known labextensions:
   app dir: /opt/conda/share/jupyter/lab
        @jupyter-widgets/jupyterlab-manager@0.27.0  enabled  OK
jovyan@f5f03510ae8b:~$ jupyter lab path
Application directory:   /opt/conda/share/jupyter/lab
User Settings directory: /home/jovyan/.jupyter/lab/user-settings
jovyan@f5f03510ae8b:~$ ls -l /home/jovyan/.jupyter/lab/user-settings
ls: cannot access '/home/jovyan/.jupyter/lab/user-settings': No such file or directory
jovyan@f5f03510ae8b:~$ ls -l /home/jovyan/.jupyter/lab
ls: cannot access '/home/jovyan/.jupyter/lab': No such file or directory
jovyan@f5f03510ae8b:~$ ls -l /home/jovyan/.jupyter
total 4
-rw-r--r-- 1 jovyan users 26 Aug 30 14:02 migrated
tylere commented 7 years ago

I tested this again today, using:

When trying to display the widget, as before I get the response:

In [1]: import ipywidgets as widgets 
In [2]: widgets.IntSlider()
A Jupyter Widget

When attempting to display the widget, the following javascript errors are written to the browser console. (This looks similar the output of #1663).

default.js:1469 Uncaught (in promise) Error: Object 'jupyter.widget' not found in registry
    at default.js:1469
    at Promise (<anonymous>)
    at Object.loadObject (default.js:1448)
    at DefaultKernel._handleCommOpen (default.js:897)
    at DefaultKernel._onWSMessage (default.js:729)
    at WebSocket._ws.onmessage (default.js:653)
Full installation details: ``` $ docker run -it -p 8888:8888 --rm jupyter/minimal-notebook start.sh jupyter lab Execute the command: jupyter lab [I 21:01:15.436 LabApp] Writing notebook server cookie secret to /home/jovyan/.local/share/jupyter/runtime/notebook_cookie_secret [W 21:01:15.456 LabApp] WARNING: The notebook server is listening on all IP addresses and not using encryption. This is not recommended. [I 21:01:15.466 LabApp] JupyterLab alpha preview extension loaded from /opt/conda/lib/python3.6/site-packages/jupyterlab JupyterLab v0.27.0 Known labextensions: [I 21:01:15.468 LabApp] Running the core application with no additional extensions or settings [I 21:01:15.472 LabApp] Serving notebooks from local directory: /home/jovyan [I 21:01:15.472 LabApp] 0 active kernels [I 21:01:15.473 LabApp] The Jupyter Notebook is running at: http://[all ip addresses on your system]:8888/?token=f48183931e0cb3246c64fef27ffb89c15696052565b3aa75 [I 21:01:15.473 LabApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). [C 21:01:15.474 LabApp] Copy/paste this URL into your browser when you connect for the first time, to login with a token: http://localhost:8888/?token=f48183931e0cb3246c64fef27ffb89c15696052565b3aa75 ``` ``` jovyan@7885efb45307:~$ pip install ipywidgets Collecting ipywidgets Downloading ipywidgets-7.0.0-py2.py3-none-any.whl (64kB) 100% |████████████████████████████████| 71kB 2.3MB/s Requirement already satisfied: traitlets>=4.3.1 in /opt/conda/lib/python3.6/site-packages (from ipywidgets) Requirement already satisfied: nbformat>=4.2.0 in /opt/conda/lib/python3.6/site-packages (from ipywidgets) Collecting widgetsnbextension~=3.0.0 (from ipywidgets) Downloading widgetsnbextension-3.0.2-py2.py3-none-any.whl (2.5MB) 100% |████████████████████████████████| 2.5MB 256kB/s Requirement already satisfied: ipython>=4.0.0; python_version >= "3.3" in /opt/conda/lib/python3.6/site-packages (from ipywidgets) Requirement already satisfied: ipykernel>=4.5.1 in /opt/conda/lib/python3.6/site-packages (from ipywidgets) Requirement already satisfied: six in /opt/conda/lib/python3.6/site-packages (from traitlets>=4.3.1->ipywidgets) Requirement already satisfied: decorator in /opt/conda/lib/python3.6/site-packages (from traitlets>=4.3.1->ipywid gets) Requirement already satisfied: ipython-genutils in /opt/conda/lib/python3.6/site-packages (from traitlets>=4.3.1- >ipywidgets) Requirement already satisfied: jupyter-core in /opt/conda/lib/python3.6/site-packages (from nbformat>=4.2.0->ipyw idgets) Requirement already satisfied: jsonschema!=2.5.0,>=2.4 in /opt/conda/lib/python3.6/site-packages (from nbformat>= 4.2.0->ipywidgets) Requirement already satisfied: notebook>=4.4.1 in /opt/conda/lib/python3.6/site-packages (from widgetsnbextension ~=3.0.0->ipywidgets) Requirement already satisfied: setuptools>=18.5 in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; p ython_version >= "3.3"->ipywidgets) Requirement already satisfied: pexpect; sys_platform != "win32" in /opt/conda/lib/python3.6/site-packages (from i python>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: pickleshare in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python _version >= "3.3"->ipywidgets) Requirement already satisfied: prompt-toolkit<2.0.0,>=1.0.4 in /opt/conda/lib/python3.6/site-packages (from ipyth on>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: pygments in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_ve rsion >= "3.3"->ipywidgets) Requirement already satisfied: jedi>=0.10 in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_ version >= "3.3"->ipywidgets) Requirement already satisfied: simplegeneric>0.8 in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: tornado>=4.0 in /opt/conda/lib/python3.6/site-packages (from ipykernel>=4.5.1->ipy widgets) Requirement already satisfied: jupyter-client in /opt/conda/lib/python3.6/site-packages (from ipykernel>=4.5.1->i pywidgets) Requirement already satisfied: jinja2 in /opt/conda/lib/python3.6/site-packages (from notebook>=4.4.1->widgetsnbe xtension~=3.0.0->ipywidgets) Requirement already satisfied: terminado>=0.3.3; sys_platform != "win32" in /opt/conda/lib/python3.6/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: nbconvert in /opt/conda/lib/python3.6/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: wcwidth in /opt/conda/lib/python3.6/site-packages (from prompt-toolkit<2.0.0,>=1.0.4->ipython>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: pyzmq>=13 in /opt/conda/lib/python3.6/site-packages (from jupyter-client->ipykernel>=4.5.1->ipywidgets) Requirement already satisfied: python-dateutil>=2.1 in /opt/conda/lib/python3.6/site-packages (from jupyter-client->ipykernel>=4.5.1->ipywidgets) Requirement already satisfied: MarkupSafe>=0.23 in /opt/conda/lib/python3.6/site-packages (from jinja2->notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: testpath in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: pandocfilters>=1.4.1 in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: entrypoints>=0.2.2 in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: bleach in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: mistune!=0.6 in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: html5lib!=0.9999,!=0.99999,<0.99999999,>=0.999 in /opt/conda/lib/python3.6/site-packages (from bleach->nbconvert->notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Installing collected packages: widgetsnbextension, ipywidgets Successfully installed ipywidgets-7.0.0 widgetsnbextension-3.0.2 ``` ``` jovyan@7885efb45307:~$ jupyter nbextension enable --py widgetsnbextension --sys-prefix Enabling notebook extension jupyter-js-widgets/extension... - Validating: OK ``` ``` jovyan@7885efb45307:~$ jupyter labextension install @jupyter-widgets/jupyterlab-manager > npm pack @jupyter-widgets/jupyterlab-manager jupyter-widgets-jupyterlab-manager-0.27.0.tgz > node node-version-check.js > npm install npm WARN prefer global marked@0.3.6 should be installed with -g > canvas@1.6.6 install /opt/conda/share/jupyter/lab/staging/node_modules/canvas > node-gyp rebuild ./util/has_lib.sh: 31: ./util/has_lib.sh: pkg-config: not found gyp: Call to './util/has_lib.sh freetype' returned exit status 0 while in binding.gyp. while trying to load binding.gyp gyp ERR! configure error gyp ERR! stack Error: `gyp` failed with exit code: 1 gyp ERR! stack at ChildProcess.onCpExit (/opt/conda/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:305:16) gyp ERR! stack at emitTwo (events.js:106:13) gyp ERR! stack at ChildProcess.emit (events.js:191:7) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12) gyp ERR! System Linux 4.9.36-moby gyp ERR! command "/opt/conda/bin/node" "/opt/conda/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /opt/conda/share/jupyter/lab/staging/node_modules/canvas gyp ERR! node -v v6.11.0 gyp ERR! node-gyp -v v3.4.0 gyp ERR! not ok > spawn-sync@1.0.15 postinstall /opt/conda/share/jupyter/lab/staging/node_modules/spawn-sync > node postinstall @jupyterlab/application-top@0.10.2 /opt/conda/share/jupyter/lab/staging ├─┬ @jupyter-widgets/jupyterlab-manager@0.27.0 │ ├─┬ @jupyter-widgets/base@1.0.1 │ │ ├── @jupyter-widgets/schema@0.3.0 │ │ ├─┬ @types/backbone@1.3.36 │ │ │ ├── @types/jquery@3.2.12 │ │ │ └── @types/underscore@1.8.2 │ │ ├── @types/lodash@4.14.74 │ │ ├── @types/semver@5.4.0 │ │ ├── backbone@1.2.3 │ │ ├── jquery@3.2.1 │ │ ├── lodash@4.17.4 │ │ └── semver@5.4.1 │ ├─┬ @jupyter-widgets/controls@1.0.1 │ │ ├── d3-format@0.5.1 │ │ ├── jquery-ui@1.12.1 │ │ └── underscore@1.8.3 │ └── @jupyter-widgets/output@1.0.1 ├─┬ @jupyterlab/application@0.10.0 │ ├── @phosphor/application@1.5.0 │ └── @phosphor/properties@1.1.2 ├── @jupyterlab/application-extension@0.10.0 ├─┬ @jupyterlab/apputils@0.10.0 │ ├── @phosphor/domutils@1.1.2 │ └─┬ sanitize-html@1.14.1 │ ├─┬ htmlparser2@3.9.2 │ │ ├── domelementtype@1.3.0 │ │ ├── domhandler@2.4.1 │ │ ├─┬ domutils@1.6.2 │ │ │ └─┬ dom-serializer@0.1.0 │ │ │ └── domelementtype@1.1.3 │ │ └── entities@1.1.1 │ ├── regexp-quote@0.0.0 │ └── xtend@4.0.1 ├── @jupyterlab/apputils-extension@0.10.2 ├── @jupyterlab/cells@0.10.0 ├── @jupyterlab/codeeditor@0.10.0 ├─┬ @jupyterlab/codemirror@0.10.0 │ └── codemirror@5.29.0 ├── @jupyterlab/codemirror-extension@0.10.0 ├── @jupyterlab/completer@0.10.0 ├── @jupyterlab/completer-extension@0.10.0 ├── @jupyterlab/console@0.10.0 ├── @jupyterlab/console-extension@0.10.0 ├─┬ @jupyterlab/coreutils@0.10.0 │ ├─┬ ajv@5.2.2 │ │ ├── co@4.6.0 │ │ ├── fast-deep-equal@1.0.0 │ │ └── json-schema-traverse@0.3.1 │ ├── minimist@1.2.0 │ ├── moment@2.18.1 │ ├── path-posix@1.0.0 │ └─┬ url-parse@1.1.9 │ ├── querystringify@1.0.0 │ └── requires-port@1.0.0 ├─┬ @jupyterlab/csvviewer@0.10.0 │ ├── @phosphor/datagrid@0.1.5 │ └─┬ d3-dsv@1.0.7 │ ├── commander@2.11.0 │ ├── iconv-lite@0.4.18 │ └── rw@1.3.3 ├── @jupyterlab/csvviewer-extension@0.10.0 ├── @jupyterlab/docmanager@0.10.0 ├── @jupyterlab/docmanager-extension@0.10.0 ├── @jupyterlab/docregistry@0.10.0 ├── @jupyterlab/faq-extension@0.10.0 ├─┬ @jupyterlab/filebrowser@0.10.0 │ └── @phosphor/dragdrop@1.3.0 ├── @jupyterlab/filebrowser-extension@0.10.0 ├── @jupyterlab/fileeditor@0.10.0 ├── @jupyterlab/fileeditor-extension@0.10.0 ├── @jupyterlab/help-extension@0.10.0 ├── @jupyterlab/imageviewer@0.10.0 ├── @jupyterlab/imageviewer-extension@0.10.0 ├── @jupyterlab/inspector@0.10.0 ├── @jupyterlab/inspector-extension@0.10.0 ├── @jupyterlab/launcher@0.10.0 ├── @jupyterlab/launcher-extension@0.10.0 ├── @jupyterlab/markdownviewer-extension@0.10.0 ├── @jupyterlab/notebook@0.10.0 ├── @jupyterlab/notebook-extension@0.10.0 ├── @jupyterlab/outputarea@0.10.0 ├── @jupyterlab/pdf-extension@0.2.0 ├─┬ @jupyterlab/rendermime@0.10.0 │ ├── ansi_up@1.3.0 │ └── marked@0.3.6 ├── @jupyterlab/rendermime-interfaces@0.3.1 ├── @jupyterlab/running@0.10.0 ├── @jupyterlab/running-extension@0.10.0 ├── @jupyterlab/services@0.49.0 ├── @jupyterlab/settingeditor-extension@0.5.0 ├── @jupyterlab/shortcuts-extension@0.10.0 ├── @jupyterlab/tabmanager-extension@0.10.0 ├─┬ @jupyterlab/terminal@0.10.0 │ └── xterm@2.8.1 ├── @jupyterlab/terminal-extension@0.10.0 ├── @jupyterlab/theme-dark-extension@0.10.0 ├── @jupyterlab/theme-light-extension@0.10.0 ├── @jupyterlab/tooltip@0.10.0 ├── @jupyterlab/tooltip-extension@0.10.0 ├── @jupyterlab/vega2-extension@0.10.0 ├── @phosphor/algorithm@1.1.2 ├─┬ @phosphor/commands@1.4.0 │ └── @phosphor/keyboard@1.1.2 ├── @phosphor/coreutils@1.3.0 ├── @phosphor/disposable@1.1.2 ├─┬ @phosphor/messaging@1.2.2 │ └── @phosphor/collections@1.1.2 ├── @phosphor/signaling@1.2.2 ├── @phosphor/virtualdom@1.1.2 ├── @phosphor/widgets@1.5.0 ├─┬ css-loader@0.27.3 │ ├─┬ babel-code-frame@6.26.0 │ │ ├─┬ chalk@1.1.3 │ │ │ ├── ansi-styles@2.2.1 │ │ │ ├── escape-string-regexp@1.0.5 │ │ │ ├─┬ has-ansi@2.0.0 │ │ │ │ └── ansi-regex@2.1.1 │ │ │ ├── strip-ansi@3.0.1 │ │ │ └── supports-color@2.0.0 │ │ ├── esutils@2.0.2 │ │ └── js-tokens@3.0.2 │ ├─┬ css-selector-tokenizer@0.7.0 │ │ ├── cssesc@0.1.0 │ │ ├── fastparse@1.1.1 │ │ └─┬ regexpu-core@1.0.0 │ │ ├── regenerate@1.3.2 │ │ ├── regjsgen@0.2.0 │ │ └─┬ regjsparser@0.1.5 │ │ └── jsesc@0.5.0 │ ├─┬ cssnano@3.10.0 │ │ ├─┬ autoprefixer@6.7.7 │ │ │ ├─┬ browserslist@1.7.7 │ │ │ │ └── electron-to-chromium@1.3.21 │ │ │ ├── caniuse-db@1.0.30000726 │ │ │ ├── normalize-range@0.1.2 │ │ │ └── num2fraction@1.2.2 │ │ ├── decamelize@1.2.0 │ │ ├── defined@1.0.0 │ │ ├─┬ has@1.0.1 │ │ │ └── function-bind@1.1.1 │ │ ├─┬ postcss-calc@5.3.1 │ │ │ ├── postcss-message-helpers@2.0.0 │ │ │ └─┬ reduce-css-calc@1.3.0 │ │ │ ├── balanced-match@0.4.2 │ │ │ ├── math-expression-evaluator@1.2.17 │ │ │ └── reduce-function-call@1.0.2 │ │ ├─┬ postcss-colormin@2.2.2 │ │ │ └─┬ colormin@1.1.2 │ │ │ ├─┬ color@0.11.4 │ │ │ │ ├── clone@1.0.2 │ │ │ │ ├─┬ color-convert@1.9.0 │ │ │ │ │ └── color-name@1.1.3 │ │ │ │ └── color-string@0.3.0 │ │ │ └── css-color-names@0.0.4 │ │ ├── postcss-convert-values@2.6.1 │ │ ├── postcss-discard-comments@2.0.4 │ │ ├── postcss-discard-duplicates@2.1.0 │ │ ├── postcss-discard-empty@2.1.0 │ │ ├── postcss-discard-overridden@0.1.1 │ │ ├─┬ postcss-discard-unused@2.2.3 │ │ │ └── uniqs@2.0.0 │ │ ├─┬ postcss-filter-plugins@2.0.2 │ │ │ └─┬ uniqid@4.1.1 │ │ │ └── macaddress@0.2.8 │ │ ├── postcss-merge-idents@2.1.7 │ │ ├── postcss-merge-longhand@2.0.2 │ │ ├─┬ postcss-merge-rules@2.1.2 │ │ │ ├─┬ caniuse-api@1.6.1 │ │ │ │ ├── lodash.memoize@4.1.2 │ │ │ │ └── lodash.uniq@4.5.0 │ │ │ ├─┬ postcss-selector-parser@2.2.3 │ │ │ │ ├── flatten@1.0.2 │ │ │ │ ├── indexes-of@1.0.1 │ │ │ │ └── uniq@1.0.1 │ │ │ └── vendors@1.0.1 │ │ ├── postcss-minify-font-values@1.0.5 │ │ ├── postcss-minify-gradients@1.0.5 │ │ ├─┬ postcss-minify-params@1.2.2 │ │ │ └── alphanum-sort@1.0.2 │ │ ├── postcss-minify-selectors@2.1.1 │ │ ├── postcss-normalize-charset@1.1.1 │ │ ├─┬ postcss-normalize-url@3.0.8 │ │ │ ├── is-absolute-url@2.1.0 │ │ │ └─┬ normalize-url@1.9.1 │ │ │ ├── prepend-http@1.0.4 │ │ │ ├─┬ query-string@4.3.4 │ │ │ │ └── strict-uri-encode@1.1.0 │ │ │ └─┬ sort-keys@1.1.2 │ │ │ └── is-plain-obj@1.1.0 │ │ ├── postcss-ordered-values@2.2.3 │ │ ├── postcss-reduce-idents@2.4.0 │ │ ├── postcss-reduce-initial@1.0.1 │ │ ├── postcss-reduce-transforms@1.0.4 │ │ ├─┬ postcss-svgo@2.1.6 │ │ │ ├─┬ is-svg@2.1.0 │ │ │ │ └── html-comment-regex@1.1.1 │ │ │ └─┬ svgo@0.7.2 │ │ │ ├─┬ coa@1.0.4 │ │ │ │ └── q@1.5.0 │ │ │ ├── colors@1.1.2 │ │ │ ├─┬ csso@2.3.2 │ │ │ │ ├── clap@1.2.0 │ │ │ │ └── source-map@0.5.7 │ │ │ ├─┬ js-yaml@3.7.0 │ │ │ │ ├─┬ argparse@1.0.9 │ │ │ │ │ └── sprintf-js@1.0.3 │ │ │ │ └── esprima@2.7.3 │ │ │ ├── sax@1.2.4 │ │ │ └── whet.extend@0.9.9 │ │ ├── postcss-unique-selectors@2.0.2 │ │ ├── postcss-value-parser@3.3.0 │ │ └── postcss-zindex@2.2.0 │ ├─┬ loader-utils@1.1.0 │ │ ├── big.js@3.1.3 │ │ └── emojis-list@2.1.0 │ ├── lodash.camelcase@4.3.0 │ ├── object-assign@4.1.1 │ ├─┬ postcss@5.2.17 │ │ ├── js-base64@2.1.9 │ │ ├── source-map@0.5.7 │ │ └── supports-color@3.2.3 │ ├─┬ postcss-modules-extract-imports@1.1.0 │ │ └─┬ postcss@6.0.11 │ │ ├─┬ chalk@2.1.0 │ │ │ └── ansi-styles@3.2.0 │ │ ├── source-map@0.5.7 │ │ └─┬ supports-color@4.4.0 │ │ └── has-flag@2.0.0 │ ├─┬ postcss-modules-local-by-default@1.2.0 │ │ └─┬ postcss@6.0.11 │ │ ├─┬ chalk@2.1.0 │ │ │ └── ansi-styles@3.2.0 │ │ ├── source-map@0.5.7 │ │ └─┬ supports-color@4.4.0 │ │ └── has-flag@2.0.0 │ ├─┬ postcss-modules-scope@1.1.0 │ │ └─┬ postcss@6.0.11 │ │ ├─┬ chalk@2.1.0 │ │ │ └── ansi-styles@3.2.0 │ │ ├── source-map@0.5.7 │ │ └─┬ supports-color@4.4.0 │ │ └── has-flag@2.0.0 │ ├─┬ postcss-modules-values@1.3.0 │ │ ├── icss-replace-symbols@1.1.0 │ │ └─┬ postcss@6.0.11 │ │ ├─┬ chalk@2.1.0 │ │ │ └── ansi-styles@3.2.0 │ │ ├── source-map@0.5.7 │ │ └─┬ supports-color@4.4.0 │ │ └── has-flag@2.0.0 │ └── source-list-map@0.1.8 ├── d3@3.5.17 ├── es6-promise@4.1.1 ├── file-loader@0.10.1 ├── font-awesome@4.7.0 ├─┬ fs-extra@2.1.2 │ ├── graceful-fs@4.1.11 │ └── jsonfile@2.4.0 ├─┬ glob@7.1.2 │ ├── fs.realpath@1.0.0 │ ├─┬ inflight@1.0.6 │ │ └── wrappy@1.0.2 │ ├── inherits@2.0.3 │ ├─┬ minimatch@3.0.4 │ │ └─┬ brace-expansion@1.1.8 │ │ ├── balanced-match@1.0.0 │ │ └── concat-map@0.0.1 │ ├── once@1.4.0 │ └── path-is-absolute@1.0.1 ├─┬ handlebars@4.0.10 │ ├── async@1.5.2 │ ├─┬ optimist@0.6.1 │ │ ├── minimist@0.0.10 │ │ └── wordwrap@0.0.3 │ ├─┬ source-map@0.4.4 │ │ └── amdefine@1.0.1 │ └─┬ uglify-js@2.8.29 │ ├── source-map@0.5.7 │ ├── uglify-to-browserify@1.0.2 │ └─┬ yargs@3.10.0 │ ├── camelcase@1.2.1 │ ├─┬ cliui@2.1.0 │ │ ├─┬ center-align@0.1.3 │ │ │ ├─┬ align-text@0.1.4 │ │ │ │ ├── longest@1.0.1 │ │ │ │ └── repeat-string@1.6.1 │ │ │ └── lazy-cache@1.0.4 │ │ ├── right-align@0.1.3 │ │ └── wordwrap@0.0.2 │ └── window-size@0.1.0 ├── json-loader@0.5.7 ├── raw-loader@0.5.1 ├─┬ sort-package-json@1.7.1 │ └── sort-object-keys@1.1.2 ├── style-loader@0.13.2 ├─┬ url-loader@0.5.9 │ └── mime@1.3.6 ├─┬ vega@2.6.5 │ ├─┬ d3-cloud@1.2.4 │ │ └── d3-dispatch@1.0.3 │ ├─┬ d3-geo-projection@0.2.16 │ │ └─┬ brfs@1.4.3 │ │ ├─┬ quote-stream@1.0.2 │ │ │ └── buffer-equal@0.0.1 │ │ ├─┬ resolve@1.4.0 │ │ │ └── path-parse@1.0.5 │ │ ├─┬ static-module@1.5.0 │ │ │ ├─┬ duplexer2@0.0.2 │ │ │ │ └─┬ readable-stream@1.1.14 │ │ │ │ ├── isarray@0.0.1 │ │ │ │ └── string_decoder@0.10.31 │ │ │ ├─┬ escodegen@1.3.3 │ │ │ │ ├── esprima@1.1.1 │ │ │ │ ├── estraverse@1.5.1 │ │ │ │ ├── esutils@1.0.0 │ │ │ │ └── source-map@0.1.43 │ │ │ ├─┬ falafel@2.1.0 │ │ │ │ ├── foreach@2.0.5 │ │ │ │ ├── isarray@0.0.1 │ │ │ │ └── object-keys@1.0.11 │ │ │ ├── object-inspect@0.4.0 │ │ │ ├─┬ quote-stream@0.0.0 │ │ │ │ └── minimist@0.0.8 │ │ │ ├─┬ readable-stream@1.0.34 │ │ │ │ ├── isarray@0.0.1 │ │ │ │ └── string_decoder@0.10.31 │ │ │ ├── shallow-copy@0.0.1 │ │ │ ├─┬ static-eval@0.2.4 │ │ │ │ └─┬ escodegen@0.0.28 │ │ │ │ ├── esprima@1.0.4 │ │ │ │ └── estraverse@1.3.2 │ │ │ └─┬ through2@0.4.2 │ │ │ └─┬ xtend@2.1.2 │ │ │ └── object-keys@0.4.0 │ │ └── through2@2.0.3 │ ├─┬ datalib@1.8.0 │ │ ├── d3-dsv@0.1.14 │ │ ├── d3-format@0.4.2 │ │ ├── d3-time@0.1.1 │ │ ├── d3-time-format@0.2.1 │ │ ├─┬ request@2.81.0 │ │ │ ├── aws-sign2@0.6.0 │ │ │ ├── aws4@1.6.0 │ │ │ ├── caseless@0.12.0 │ │ │ ├─┬ combined-stream@1.0.5 │ │ │ │ └── delayed-stream@1.0.0 │ │ │ ├── extend@3.0.1 │ │ │ ├── forever-agent@0.6.1 │ │ │ ├─┬ form-data@2.1.4 │ │ │ │ └── asynckit@0.4.0 │ │ │ ├─┬ har-validator@4.2.1 │ │ │ │ ├── ajv@4.11.8 │ │ │ │ └── har-schema@1.0.5 │ │ │ ├─┬ hawk@3.1.3 │ │ │ │ ├── boom@2.10.1 │ │ │ │ ├── cryptiles@2.0.5 │ │ │ │ ├── hoek@2.16.3 │ │ │ │ └── sntp@1.0.9 │ │ │ ├─┬ http-signature@1.1.1 │ │ │ │ ├── assert-plus@0.2.0 │ │ │ │ ├─┬ jsprim@1.4.1 │ │ │ │ │ ├── assert-plus@1.0.0 │ │ │ │ │ ├── extsprintf@1.3.0 │ │ │ │ │ ├── json-schema@0.2.3 │ │ │ │ │ └─┬ verror@1.10.0 │ │ │ │ │ └── assert-plus@1.0.0 │ │ │ │ └─┬ sshpk@1.13.1 │ │ │ │ ├── asn1@0.2.3 │ │ │ │ ├── assert-plus@1.0.0 │ │ │ │ ├── bcrypt-pbkdf@1.0.1 │ │ │ │ ├─┬ dashdash@1.14.1 │ │ │ │ │ └── assert-plus@1.0.0 │ │ │ │ ├── ecc-jsbn@0.1.1 │ │ │ │ ├─┬ getpass@0.1.7 │ │ │ │ │ └── assert-plus@1.0.0 │ │ │ │ ├── jsbn@0.1.1 │ │ │ │ └── tweetnacl@0.14.5 │ │ │ ├── is-typedarray@1.0.0 │ │ │ ├── isstream@0.1.2 │ │ │ ├── json-stringify-safe@5.0.1 │ │ │ ├─┬ mime-types@2.1.17 │ │ │ │ └── mime-db@1.30.0 │ │ │ ├── oauth-sign@0.8.2 │ │ │ ├── performance-now@0.2.0 │ │ │ ├── qs@6.4.0 │ │ │ ├── safe-buffer@5.1.1 │ │ │ ├── stringstream@0.0.5 │ │ │ ├── tough-cookie@2.3.2 │ │ │ ├── tunnel-agent@0.6.0 │ │ │ └── uuid@3.1.0 │ │ └─┬ sync-request@2.2.0 │ │ ├─┬ concat-stream@1.6.0 │ │ │ └── typedarray@0.0.6 │ │ ├── http-response-object@1.1.0 │ │ ├─┬ spawn-sync@1.0.15 │ │ │ └── os-shim@0.1.3 │ │ └─┬ then-request@2.2.0 │ │ ├── caseless@0.11.0 │ │ ├─┬ http-basic@2.5.1 │ │ │ └── caseless@0.11.0 │ │ └─┬ promise@7.3.1 │ │ └── asap@2.0.6 │ ├─┬ topojson@1.6.27 │ │ ├── d3-queue@2.0.3 │ │ ├── optimist@0.3.7 │ │ └─┬ shapefile@0.3.1 │ │ ├── d3-queue@1.2.3 │ │ └── iconv-lite@0.2.11 │ ├── vega-dataflow@1.4.3 │ ├── vega-event-selector@1.1.0 │ ├── vega-expression@1.2.1 │ ├── vega-logging@1.0.2 │ ├── vega-scenegraph@1.1.0 │ └─┬ yargs@3.32.0 │ ├── camelcase@2.1.1 │ ├─┬ cliui@3.2.0 │ │ └── wrap-ansi@2.1.0 │ ├─┬ os-locale@1.4.0 │ │ └─┬ lcid@1.0.0 │ │ └── invert-kv@1.0.0 │ ├─┬ string-width@1.0.2 │ │ ├── code-point-at@1.1.0 │ │ └─┬ is-fullwidth-code-point@1.0.0 │ │ └── number-is-nan@1.0.1 │ ├── window-size@0.1.4 │ └── y18n@3.2.1 ├── vega-embed@2.2.0 ├─┬ vega-lite@1.3.1 │ ├─┬ datalib@1.7.3 │ │ ├── d3-dsv@0.1.14 │ │ └── d3-format@0.4.2 │ ├─┬ json-stable-stringify@1.0.1 │ │ └── jsonify@0.0.0 │ └─┬ yargs@6.3.0 │ ├── camelcase@3.0.0 │ ├── get-caller-file@1.0.2 │ ├─┬ read-pkg-up@1.0.1 │ │ ├─┬ find-up@1.1.2 │ │ │ ├── path-exists@2.1.0 │ │ │ └─┬ pinkie-promise@2.0.1 │ │ │ └── pinkie@2.0.4 │ │ └─┬ read-pkg@1.1.0 │ │ ├─┬ load-json-file@1.1.0 │ │ │ ├─┬ parse-json@2.2.0 │ │ │ │ └─┬ error-ex@1.3.1 │ │ │ │ └── is-arrayish@0.2.1 │ │ │ ├── pify@2.3.0 │ │ │ └─┬ strip-bom@2.0.0 │ │ │ └── is-utf8@0.2.1 │ │ ├─┬ normalize-package-data@2.4.0 │ │ │ ├── hosted-git-info@2.5.0 │ │ │ ├─┬ is-builtin-module@1.0.0 │ │ │ │ └── builtin-modules@1.1.1 │ │ │ └─┬ validate-npm-package-license@3.0.1 │ │ │ ├─┬ spdx-correct@1.0.2 │ │ │ │ └── spdx-license-ids@1.2.2 │ │ │ └── spdx-expression-parse@1.0.4 │ │ └── path-type@1.1.0 │ ├── require-directory@2.1.1 │ ├── require-main-filename@1.0.1 │ ├── set-blocking@2.0.0 │ ├── which-module@1.0.0 │ ├── window-size@0.2.0 │ └─┬ yargs-parser@4.2.1 │ └── camelcase@3.0.0 └─┬ webpack@2.7.0 ├── acorn@5.1.2 ├─┬ acorn-dynamic-import@2.0.2 │ └── acorn@4.0.13 ├── ajv@4.11.8 ├── ajv-keywords@1.5.1 ├── async@2.5.0 ├── enhanced-resolve@3.4.1 ├── interpret@1.0.3 ├── json5@0.5.1 ├── loader-runner@2.3.0 ├── loader-utils@0.2.17 ├─┬ memory-fs@0.4.1 │ ├─┬ errno@0.1.4 │ │ └── prr@0.0.0 │ └─┬ readable-stream@2.3.3 │ ├── core-util-is@1.0.2 │ ├── isarray@1.0.0 │ ├── process-nextick-args@1.0.7 │ ├── string_decoder@1.0.3 │ └── util-deprecate@1.0.2 ├─┬ mkdirp@0.5.1 │ └── minimist@0.0.8 ├─┬ node-libs-browser@2.0.0 │ ├── assert@1.4.1 │ ├─┬ browserify-zlib@0.1.4 │ │ └── pako@0.2.9 │ ├─┬ buffer@4.9.1 │ │ ├── base64-js@1.2.1 │ │ └── ieee754@1.1.8 │ ├─┬ console-browserify@1.1.0 │ │ └── date-now@0.1.4 │ ├── constants-browserify@1.0.0 │ ├─┬ crypto-browserify@3.11.1 │ │ ├─┬ browserify-cipher@1.0.0 │ │ │ ├─┬ browserify-aes@1.0.8 │ │ │ │ └── buffer-xor@1.0.3 │ │ │ ├─┬ browserify-des@1.0.0 │ │ │ │ └── des.js@1.0.0 │ │ │ └─┬ evp_bytestokey@1.0.3 │ │ │ └─┬ md5.js@1.3.4 │ │ │ └── hash-base@3.0.4 │ │ ├─┬ browserify-sign@4.0.4 │ │ │ ├── bn.js@4.11.8 │ │ │ ├── browserify-rsa@4.0.1 │ │ │ ├─┬ elliptic@6.4.0 │ │ │ │ ├── brorand@1.1.0 │ │ │ │ ├── hash.js@1.1.3 │ │ │ │ ├── hmac-drbg@1.0.1 │ │ │ │ ├── minimalistic-assert@1.0.0 │ │ │ │ └── minimalistic-crypto-utils@1.0.1 │ │ │ └─┬ parse-asn1@5.1.0 │ │ │ └── asn1.js@4.9.1 │ │ ├── create-ecdh@4.0.0 │ │ ├─┬ create-hash@1.1.3 │ │ │ ├── cipher-base@1.0.4 │ │ │ ├─┬ ripemd160@2.0.1 │ │ │ │ └── hash-base@2.0.2 │ │ │ └── sha.js@2.4.8 │ │ ├── create-hmac@1.1.6 │ │ ├─┬ diffie-hellman@5.0.2 │ │ │ └── miller-rabin@4.0.0 │ │ ├── pbkdf2@3.0.13 │ │ ├── public-encrypt@4.0.0 │ │ └── randombytes@2.0.5 │ ├── domain-browser@1.1.7 │ ├── events@1.1.1 │ ├── https-browserify@0.0.1 │ ├── os-browserify@0.2.1 │ ├── path-browserify@0.0.0 │ ├── process@0.11.10 │ ├── punycode@1.4.1 │ ├── querystring-es3@0.2.1 │ ├── stream-browserify@2.0.1 │ ├─┬ stream-http@2.7.2 │ │ ├── builtin-status-codes@3.0.0 │ │ └── to-arraybuffer@1.0.1 │ ├── string_decoder@0.10.31 │ ├─┬ timers-browserify@2.0.4 │ │ └── setimmediate@1.0.5 │ ├── tty-browserify@0.0.0 │ ├─┬ url@0.11.0 │ │ ├── punycode@1.3.2 │ │ └── querystring@0.2.0 │ ├─┬ util@0.10.3 │ │ └── inherits@2.0.1 │ └─┬ vm-browserify@0.0.4 │ └── indexof@0.0.1 ├── source-map@0.5.7 ├─┬ supports-color@3.2.3 │ └── has-flag@1.0.0 ├── tapable@0.2.8 ├─┬ watchpack@1.4.0 │ ├── async@2.5.0 │ └─┬ chokidar@1.7.0 │ ├─┬ anymatch@1.3.2 │ │ ├─┬ micromatch@2.3.11 │ │ │ ├─┬ arr-diff@2.0.0 │ │ │ │ └── arr-flatten@1.1.0 │ │ │ ├── array-unique@0.2.1 │ │ │ ├─┬ braces@1.8.5 │ │ │ │ ├─┬ expand-range@1.8.2 │ │ │ │ │ └─┬ fill-range@2.2.3 │ │ │ │ │ ├── is-number@2.1.0 │ │ │ │ │ ├── isobject@2.1.0 │ │ │ │ │ └─┬ randomatic@1.1.7 │ │ │ │ │ ├─┬ is-number@3.0.0 │ │ │ │ │ │ └── kind-of@3.2.2 │ │ │ │ │ └── kind-of@4.0.0 │ │ │ │ ├── preserve@0.2.0 │ │ │ │ └── repeat-element@1.1.2 │ │ │ ├─┬ expand-brackets@0.1.5 │ │ │ │ └── is-posix-bracket@0.1.1 │ │ │ ├── extglob@0.3.2 │ │ │ ├── filename-regex@2.0.1 │ │ │ ├─┬ kind-of@3.2.2 │ │ │ │ └── is-buffer@1.1.5 │ │ │ ├─┬ object.omit@2.0.1 │ │ │ │ ├─┬ for-own@0.1.5 │ │ │ │ │ └── for-in@1.0.2 │ │ │ │ └── is-extendable@0.1.1 │ │ │ ├─┬ parse-glob@3.0.4 │ │ │ │ ├── glob-base@0.3.0 │ │ │ │ └── is-dotfile@1.0.3 │ │ │ └─┬ regex-cache@0.4.4 │ │ │ └─┬ is-equal-shallow@0.1.3 │ │ │ └── is-primitive@2.0.0 │ │ └─┬ normalize-path@2.1.1 │ │ └── remove-trailing-separator@1.1.0 │ ├── async-each@1.0.1 │ ├── glob-parent@2.0.0 │ ├─┬ is-binary-path@1.0.1 │ │ └── binary-extensions@1.10.0 │ ├─┬ is-glob@2.0.1 │ │ └── is-extglob@1.0.0 │ └─┬ readdirp@2.1.0 │ └── set-immediate-shim@1.0.1 ├─┬ webpack-sources@1.0.1 │ ├── source-list-map@2.0.0 │ └── source-map@0.5.7 └─┬ yargs@6.6.0 └── camelcase@3.0.0 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: canvas@1.6.6 (node_modules/canvas): npm WARN optional SKIPPING OPTIONAL DEPENDENCY: canvas@1.6.6 install: `node-gyp rebuild` npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1 > npm run build > @jupyterlab/application-top@0.10.2 build /opt/conda/share/jupyter/lab/staging > webpack Hash: 88f763e037a743abd8d7 Version: webpack 2.7.0 Time: 9713ms Asset Size Chunks Chunk Names 674f50d287a8c48dc19ba404d20fe713.eot 166 kB [emitted] af7ae505a9eed503f8b8e6982036873e.woff2 77.2 kB [emitted] fee66e712a8a08eef5805a46892932ad.woff 98 kB [emitted] b06871f281fee6b241d60582ae9369b9.ttf 166 kB [emitted] 912ec66d7572ff821749319396470bde.svg 444 kB [emitted] [big] 0.bundle.js 893 kB 0 [emitted] [big] main.bundle.js 8.29 MB 1 [emitted] [big] main 0.bundle.js.map 1.08 MB 0 [emitted] main.bundle.js.map 9.96 MB 1 [emitted] main [6] ./~/@jupyterlab/coreutils/lib/index.js 870 bytes {1} [built] [27] ./~/@jupyterlab/application/lib/index.js 5.48 kB {1} [built] [453] ./~/@jupyterlab/application-extension/lib/index.js 6.12 kB {1} [optional] [built] [454] ./~/@jupyterlab/apputils-extension/lib/index.js 7.91 kB {1} [optional] [built] [455] ./~/@jupyterlab/codemirror-extension/lib/index.js 10.5 kB {1} [optional] [built] [456] ./~/@jupyterlab/completer-extension/lib/index.js 7.09 kB {1} [optional] [built] [457] ./~/@jupyterlab/console-extension/lib/index.js 12.5 kB {1} [optional] [built] [458] ./~/@jupyterlab/csvviewer-extension/lib/index.js 1.79 kB {1} [optional] [built] [459] ./~/@jupyterlab/docmanager-extension/lib/index.js 10.1 kB {1} [optional] [built] [460] ./~/@jupyterlab/faq-extension/lib/index.js 3.78 kB {1} [optional] [built] [461] ./~/@jupyterlab/filebrowser-extension/lib/index.js 11.9 kB {1} [optional] [built] [462] ./~/@jupyterlab/fileeditor-extension/lib/index.js 11.8 kB {1} [optional] [built] [463] ./~/@jupyterlab/help-extension/lib/index.js 8.84 kB {1} [optional] [built] [464] ./~/@jupyterlab/imageviewer-extension/lib/index.js 4.25 kB {1} [optional] [built] [494] ./build/index.out.js 8.38 kB {1} [built] + 1180 hidden modules ```
jasongrout commented 7 years ago

From the error message in the js console, it appears that the widgets jupyterlab extension is not getting installed properly. I see this error above:

jovyan@7885efb45307:~$ jupyter labextension install @jupyter-widgets/jupyterlab-manager
> npm pack @jupyter-widgets/jupyterlab-manager
jupyter-widgets-jupyterlab-manager-0.27.0.tgz
> node node-version-check.js
> npm install
npm WARN prefer global marked@0.3.6 should be installed with -g

> canvas@1.6.6 install /opt/conda/share/jupyter/lab/staging/node_modules/canvas
> node-gyp rebuild

./util/has_lib.sh: 31: ./util/has_lib.sh: pkg-config: not found
gyp: Call to './util/has_lib.sh freetype' returned exit status 0 while in binding.gyp. while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/opt/conda/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:305:16)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Linux 4.9.36-moby
gyp ERR! command "/opt/conda/bin/node" "/opt/conda/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /opt/conda/share/jupyter/lab/staging/node_modules/canvas
gyp ERR! node -v v6.11.0
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok

I think @blink1073 has seen this before. @blink1073 - do you have any pointers about what is going on, and if this would stop an extension from being installed.

jasongrout commented 7 years ago

It looks like https://github.com/jupyterlab/jupyterlab/pull/2958 may solve this issue.

blink1073 commented 7 years ago

The canvas-related node-gyp errors are not preventing the build, node is logging it as a warning and moving on.

@tylere, does @jupyter-widgets/jupyterlab-manager appear in your main.bundle.js file?

image

jasongrout commented 7 years ago

Also, particularly this line:

./util/has_lib.sh: 31: ./util/has_lib.sh: pkg-config: not found

Just checking: is pkg-config installed on your machine?

jasongrout commented 7 years ago

The canvas-related node-gyp errors are not preventing the build, node is logging it as a warning and moving on.

That seems to be because the pkg-config test worked. In this case, it appears that pkg-config isn't installed, so it's erroring out there. Does jupyterlab/jupyterlab#2958 avoid the whole package? If so, that should hopefully solve this issue as well.

blink1073 commented 7 years ago

node-gyp relies on Python and some linked libraries. jupyterlab/jupyterlab#2958 avoids using node-gyp altogether, avoiding confusion about whether there are actually any installation errors. To date, there have been no confirmed errors from node-gyp.

jasongrout commented 7 years ago

Possibly related issue in node-canvas about errors using node-gyp: https://github.com/Automattic/node-canvas/issues/710

tylere commented 7 years ago

@blink1073 @jupyter-widgets/jupyterlab-manager does not appear in my main.bundle.js.

@jasongrout pkg-config is not installed in the docker-stack container that I am using (assuming that I am checking correctly).

jovyan@b3de5911829e:~$ npm list pkg-config
/home/jovyan
└── (empty)

npm ERR! code 1
jovyan@b3de5911829e:~$ npm list -g pkg-config
/opt/conda/lib
└── (empty)

npm ERR! code 1
jovyan@b3de5911829e:~$

Below is the full installation trace, using the most recently docker-stacks pull.

Full installation details: `$ docker pull jupyter/minimal-notebook ` Using default tag: latest latest: Pulling from jupyter/minimal-notebook Digest: sha256:da05061ac90de9cff07a5096729646e2b36bb3997da34dc00e7aef11c014fad4 Status: Image is up to date for jupyter/minimal-notebook:latest `$ docker run -it -p 8888:8888 --rm jupyter/minimal-notebook start.sh jupyter lab ` Execute the command: jupyter lab [I 17:33:32.624 LabApp] Writing notebook server cookie secret to /home/jovyan/.local/share/jupyter/runtime/notebook_cookie_secret [W 17:33:32.653 LabApp] WARNING: The notebook server is listening on all IP addresses and not using encryption. This is not recommended. [I 17:33:32.662 LabApp] JupyterLab alpha preview extension loaded from /opt/conda/lib/python3.6/site-packages/jupyterlab JupyterLab v0.27.0 Known labextensions: [I 17:33:32.664 LabApp] Running the core application with no additional extensions or settings [I 17:33:32.669 LabApp] Serving notebooks from local directory: /home/jovyan [I 17:33:32.669 LabApp] 0 active kernels [I 17:33:32.669 LabApp] The Jupyter Notebook is running at: http://[all ip addresses on your system]:8888/?token=f9be611594c263979a12f0e00c2e9f87b6d111be81459e39 [I 17:33:32.669 LabApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). [C 17:33:32.669 LabApp] Copy/paste this URL into your browser when you connect for the first time, to login with a token: http://localhost:8888/?token=f9be611594c263979a12f0e00c2e9f87b6d111be81459e39 `jovyan@b3de5911829e:~$ pip install ipywidgets ` Collecting ipywidgets Downloading ipywidgets-7.0.0-py2.py3-none-any.whl (64kB) 100% |████████████████████████████████| 71kB 2.2MB/s Requirement already satisfied: traitlets>=4.3.1 in /opt/conda/lib/python3.6/site-packa ges (from ipywidgets) Requirement already satisfied: ipython>=4.0.0; python_version >= "3.3" in /opt/conda/l ib/python3.6/site-packages (from ipywidgets) Requirement already satisfied: nbformat>=4.2.0 in /opt/conda/lib/python3.6/site-packag es (from ipywidgets) Requirement already satisfied: ipykernel>=4.5.1 in /opt/conda/lib/python3.6/site-packa ges (from ipywidgets) Collecting widgetsnbextension~=3.0.0 (from ipywidgets) Downloading widgetsnbextension-3.0.2-py2.py3-none-any.whl (2.5MB) 100% |████████████████████████████████| 2.5MB 269kB/s Requirement already satisfied: six in /opt/conda/lib/python3.6/site-packages (from tra itlets>=4.3.1->ipywidgets) Requirement already satisfied: decorator in /opt/conda/lib/python3.6/site-packages (fr om traitlets>=4.3.1->ipywidgets) Requirement already satisfied: ipython-genutils in /opt/conda/lib/python3.6/site-packa ges (from traitlets>=4.3.1->ipywidgets) Requirement already satisfied: pygments in /opt/conda/lib/python3.6/site-packages (fro m ipython>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: prompt-toolkit<2.0.0,>=1.0.4 in /opt/conda/lib/python3. 6/site-packages (from ipython>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: pexpect; sys_platform != "win32" in /opt/conda/lib/pyth on3.6/site-packages (from ipython>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: simplegeneric>0.8 in /opt/conda/lib/python3.6/site-pack ages (from ipython>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: jedi>=0.10 in /opt/conda/lib/python3.6/site-packages (f rom ipython>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: setuptools>=18.5 in /opt/conda/lib/python3.6/site-packa ges (from ipython>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: pickleshare in /opt/conda/lib/python3.6/site-packages ( from ipython>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: jupyter-core in /opt/conda/lib/python3.6/site-packages (from nbformat>=4.2.0->ipywidgets) Requirement already satisfied: jsonschema!=2.5.0,>=2.4 in /opt/conda/lib/python3.6/sit e-packages (from nbformat>=4.2.0->ipywidgets) Requirement already satisfied: tornado>=4.0 in /opt/conda/lib/python3.6/site-packages(from ipykernel>=4.5.1->ipywidgets) Requirement already satisfied: jupyter-client in /opt/conda/lib/python3.6/site-packages (from ipykernel>=4.5.1->ipywidgets) Requirement already satisfied: notebook>=4.4.1 in /opt/conda/lib/python3.6/site-packages (from widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: wcwidth in /opt/conda/lib/python3.6/site-packages (from prompt-toolkit<2.0.0,>=1.0.4->ipython>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: pyzmq>=13 in /opt/conda/lib/python3.6/site-packages (from jupyter-client->ipykernel>=4.5.1->ipywidgets) Requirement already satisfied: python-dateutil>=2.1 in /opt/conda/lib/python3.6/site-packages (from jupyter-client->ipykernel>=4.5.1->ipywidgets) Requirement already satisfied: nbconvert in /opt/conda/lib/python3.6/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: terminado>=0.3.3; sys_platform != "win32" in /opt/conda/lib/python3.6/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: jinja2 in /opt/conda/lib/python3.6/site-packages (fromnotebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: testpath in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: bleach in /opt/conda/lib/python3.6/site-packages (fromnbconvert->notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: pandocfilters>=1.4.1 in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: entrypoints>=0.2.2 in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: mistune!=0.6 in /opt/conda/lib/python3.6/site-packages(from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: MarkupSafe>=0.23 in /opt/conda/lib/python3.6/site-packages (from jinja2->notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: html5lib!=0.9999,!=0.99999,<0.99999999,>=0.999 in /opt/conda/lib/python3.6/site-packages (from bleach->nbconvert->notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Installing collected packages: widgetsnbextension, ipywidgets Successfully installed ipywidgets-7.0.0 widgetsnbextension-3.0.2 `jovyan@b3de5911829e:~$ jupyter nbextension enable --py widgetsnbextension --sys-prefix ` Enabling notebook extension jupyter-js-widgets/extension... - Validating: OK `jovyan@b3de5911829e:~$ jupyter labextension install @jupyter-widgets/jupyterlab-manager ` > npm pack @jupyter-widgets/jupyterlab-manager jupyter-widgets-jupyterlab-manager-0.27.0.tgz > node node-version-check.js > npm install npm WARN prefer global marked@0.3.6 should be installed with -g > canvas@1.6.7 install /opt/conda/share/jupyter/lab/staging/node_modules/canvas > node-gyp rebuild ./util/has_lib.sh: 31: ./util/has_lib.sh: pkg-config: not found gyp: Call to './util/has_lib.sh freetype' returned exit status 0 while in binding.gyp. while trying to load binding.gyp gyp ERR! configure error gyp ERR! stack Error: `gyp` failed with exit code: 1 gyp ERR! stack at ChildProcess.onCpExit (/opt/conda/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:305:16) gyp ERR! stack at emitTwo (events.js:106:13) gyp ERR! stack at ChildProcess.emit (events.js:191:7) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12) gyp ERR! System Linux 4.9.41-moby gyp ERR! command "/opt/conda/bin/node" "/opt/conda/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /opt/conda/share/jupyter/lab/staging/node_modules/canvas gyp ERR! node -v v6.11.0 gyp ERR! node-gyp -v v3.4.0 gyp ERR! not ok > spawn-sync@1.0.15 postinstall /opt/conda/share/jupyter/lab/staging/node_modules/spawn-sync > node postinstall @jupyterlab/application-top@0.10.2 /opt/conda/share/jupyter/lab/staging ├─┬ @jupyter-widgets/jupyterlab-manager@0.27.0 │ ├─┬ @jupyter-widgets/base@1.0.1 │ │ ├── @jupyter-widgets/schema@0.3.0 │ │ ├─┬ @types/backbone@1.3.36 │ │ │ ├── @types/jquery@3.2.12 │ │ │ └── @types/underscore@1.8.3 │ │ ├── @types/lodash@4.14.74 │ │ ├── @types/semver@5.4.0 │ │ ├── backbone@1.2.3 │ │ ├── jquery@3.2.1 │ │ ├── lodash@4.17.4 │ │ └── semver@5.4.1 │ ├─┬ @jupyter-widgets/controls@1.0.1 │ │ ├── d3-format@0.5.1 │ │ ├── jquery-ui@1.12.1 │ │ └── underscore@1.8.3 │ └── @jupyter-widgets/output@1.0.1 ├─┬ @jupyterlab/application@0.10.0 │ ├── @phosphor/application@1.5.0 │ └── @phosphor/properties@1.1.2 ├── @jupyterlab/application-extension@0.10.0 ├─┬ @jupyterlab/apputils@0.10.0 │ ├── @phosphor/domutils@1.1.2 │ └─┬ sanitize-html@1.14.1 │ ├─┬ htmlparser2@3.9.2 │ │ ├── domelementtype@1.3.0 │ │ ├── domhandler@2.4.1 │ │ ├─┬ domutils@1.6.2 │ │ │ └─┬ dom-serializer@0.1.0 │ │ │ └── domelementtype@1.1.3 │ │ └── entities@1.1.1 │ ├── regexp-quote@0.0.0 │ └── xtend@4.0.1 ├── @jupyterlab/apputils-extension@0.10.2 ├── @jupyterlab/cells@0.10.0 ├── @jupyterlab/codeeditor@0.10.0 ├─┬ @jupyterlab/codemirror@0.10.0 │ └── codemirror@5.29.0 ├── @jupyterlab/codemirror-extension@0.10.0 ├── @jupyterlab/completer@0.10.0 ├── @jupyterlab/completer-extension@0.10.0 ├── @jupyterlab/console@0.10.0 ├── @jupyterlab/console-extension@0.10.0 ├─┬ @jupyterlab/coreutils@0.10.0 │ ├─┬ ajv@5.2.2 │ │ ├── co@4.6.0 │ │ ├── fast-deep-equal@1.0.0 │ │ └── json-schema-traverse@0.3.1 │ ├── minimist@1.2.0 │ ├── moment@2.18.1 │ ├── path-posix@1.0.0 │ └─┬ url-parse@1.1.9 │ ├── querystringify@1.0.0 │ └── requires-port@1.0.0 ├─┬ @jupyterlab/csvviewer@0.10.0 │ ├── @phosphor/datagrid@0.1.5 │ └─┬ d3-dsv@1.0.7 │ ├── commander@2.11.0 │ ├── iconv-lite@0.4.19 │ └── rw@1.3.3 ├── @jupyterlab/csvviewer-extension@0.10.0 ├── @jupyterlab/docmanager@0.10.0 ├── @jupyterlab/docmanager-extension@0.10.0 ├── @jupyterlab/docregistry@0.10.0 ├── @jupyterlab/faq-extension@0.10.0 ├─┬ @jupyterlab/filebrowser@0.10.0 │ └── @phosphor/dragdrop@1.3.0 ├── @jupyterlab/filebrowser-extension@0.10.0 ├── @jupyterlab/fileeditor@0.10.0 ├── @jupyterlab/fileeditor-extension@0.10.0 ├── @jupyterlab/help-extension@0.10.0 ├── @jupyterlab/imageviewer@0.10.0 ├── @jupyterlab/imageviewer-extension@0.10.0 ├── @jupyterlab/inspector@0.10.0 ├── @jupyterlab/inspector-extension@0.10.0 ├── @jupyterlab/launcher@0.10.0 ├── @jupyterlab/launcher-extension@0.10.0 ├── @jupyterlab/markdownviewer-extension@0.10.0 ├── @jupyterlab/notebook@0.10.0 ├── @jupyterlab/notebook-extension@0.10.0 ├── @jupyterlab/outputarea@0.10.0 ├── @jupyterlab/pdf-extension@0.2.0 ├─┬ @jupyterlab/rendermime@0.10.0 │ ├── ansi_up@1.3.0 │ └── marked@0.3.6 ├── @jupyterlab/rendermime-interfaces@0.3.1 ├── @jupyterlab/running@0.10.0 ├── @jupyterlab/running-extension@0.10.0 ├── @jupyterlab/services@0.49.0 ├── @jupyterlab/settingeditor-extension@0.5.0 ├── @jupyterlab/shortcuts-extension@0.10.0 ├── @jupyterlab/tabmanager-extension@0.10.0 ├─┬ @jupyterlab/terminal@0.10.0 │ └── xterm@2.8.1 ├── @jupyterlab/terminal-extension@0.10.0 ├── @jupyterlab/theme-dark-extension@0.10.0 ├── @jupyterlab/theme-light-extension@0.10.0 ├── @jupyterlab/tooltip@0.10.0 ├── @jupyterlab/tooltip-extension@0.10.0 ├── @jupyterlab/vega2-extension@0.10.0 ├── @phosphor/algorithm@1.1.2 ├─┬ @phosphor/commands@1.4.0 │ └── @phosphor/keyboard@1.1.2 ├── @phosphor/coreutils@1.3.0 ├── @phosphor/disposable@1.1.2 ├─┬ @phosphor/messaging@1.2.2 │ └── @phosphor/collections@1.1.2 ├── @phosphor/signaling@1.2.2 ├── @phosphor/virtualdom@1.1.2 ├── @phosphor/widgets@1.5.0 ├─┬ css-loader@0.27.3 │ ├─┬ babel-code-frame@6.26.0 │ │ ├─┬ chalk@1.1.3 │ │ │ ├── ansi-styles@2.2.1 │ │ │ ├── escape-string-regexp@1.0.5 │ │ │ ├─┬ has-ansi@2.0.0 │ │ │ │ └── ansi-regex@2.1.1 │ │ │ ├── strip-ansi@3.0.1 │ │ │ └── supports-color@2.0.0 │ │ ├── esutils@2.0.2 │ │ └── js-tokens@3.0.2 │ ├─┬ css-selector-tokenizer@0.7.0 │ │ ├── cssesc@0.1.0 │ │ ├── fastparse@1.1.1 │ │ └─┬ regexpu-core@1.0.0 │ │ ├── regenerate@1.3.2 │ │ ├── regjsgen@0.2.0 │ │ └─┬ regjsparser@0.1.5 │ │ └── jsesc@0.5.0 │ ├─┬ cssnano@3.10.0 │ │ ├─┬ autoprefixer@6.7.7 │ │ │ ├─┬ browserslist@1.7.7 │ │ │ │ └── electron-to-chromium@1.3.21 │ │ │ ├── caniuse-db@1.0.30000727 │ │ │ ├── normalize-range@0.1.2 │ │ │ └── num2fraction@1.2.2 │ │ ├── decamelize@1.2.0 │ │ ├── defined@1.0.0 │ │ ├─┬ has@1.0.1 │ │ │ └── function-bind@1.1.1 │ │ ├─┬ postcss-calc@5.3.1 │ │ │ ├── postcss-message-helpers@2.0.0 │ │ │ └─┬ reduce-css-calc@1.3.0 │ │ │ ├── balanced-match@0.4.2 │ │ │ ├── math-expression-evaluator@1.2.17 │ │ │ └── reduce-function-call@1.0.2 │ │ ├─┬ postcss-colormin@2.2.2 │ │ │ └─┬ colormin@1.1.2 │ │ │ ├─┬ color@0.11.4 │ │ │ │ ├── clone@1.0.2 │ │ │ │ ├─┬ color-convert@1.9.0 │ │ │ │ │ └── color-name@1.1.3 │ │ │ │ └── color-string@0.3.0 │ │ │ └── css-color-names@0.0.4 │ │ ├── postcss-convert-values@2.6.1 │ │ ├── postcss-discard-comments@2.0.4 │ │ ├── postcss-discard-duplicates@2.1.0 │ │ ├── postcss-discard-empty@2.1.0 │ │ ├── postcss-discard-overridden@0.1.1 │ │ ├─┬ postcss-discard-unused@2.2.3 │ │ │ └── uniqs@2.0.0 │ │ ├─┬ postcss-filter-plugins@2.0.2 │ │ │ └─┬ uniqid@4.1.1 │ │ │ └── macaddress@0.2.8 │ │ ├── postcss-merge-idents@2.1.7 │ │ ├── postcss-merge-longhand@2.0.2 │ │ ├─┬ postcss-merge-rules@2.1.2 │ │ │ ├─┬ caniuse-api@1.6.1 │ │ │ │ ├── lodash.memoize@4.1.2 │ │ │ │ └── lodash.uniq@4.5.0 │ │ │ ├─┬ postcss-selector-parser@2.2.3 │ │ │ │ ├── flatten@1.0.2 │ │ │ │ ├── indexes-of@1.0.1 │ │ │ │ └── uniq@1.0.1 │ │ │ └── vendors@1.0.1 │ │ ├── postcss-minify-font-values@1.0.5 │ │ ├── postcss-minify-gradients@1.0.5 │ │ ├─┬ postcss-minify-params@1.2.2 │ │ │ └── alphanum-sort@1.0.2 │ │ ├── postcss-minify-selectors@2.1.1 │ │ ├── postcss-normalize-charset@1.1.1 │ │ ├─┬ postcss-normalize-url@3.0.8 │ │ │ ├── is-absolute-url@2.1.0 │ │ │ └─┬ normalize-url@1.9.1 │ │ │ ├── prepend-http@1.0.4 │ │ │ ├─┬ query-string@4.3.4 │ │ │ │ └── strict-uri-encode@1.1.0 │ │ │ └─┬ sort-keys@1.1.2 │ │ │ └── is-plain-obj@1.1.0 │ │ ├── postcss-ordered-values@2.2.3 │ │ ├── postcss-reduce-idents@2.4.0 │ │ ├── postcss-reduce-initial@1.0.1 │ │ ├── postcss-reduce-transforms@1.0.4 │ │ ├─┬ postcss-svgo@2.1.6 │ │ │ ├─┬ is-svg@2.1.0 │ │ │ │ └── html-comment-regex@1.1.1 │ │ │ └─┬ svgo@0.7.2 │ │ │ ├─┬ coa@1.0.4 │ │ │ │ └── q@1.5.0 │ │ │ ├── colors@1.1.2 │ │ │ ├─┬ csso@2.3.2 │ │ │ │ ├── clap@1.2.0 │ │ │ │ └── source-map@0.5.7 │ │ │ ├─┬ js-yaml@3.7.0 │ │ │ │ ├─┬ argparse@1.0.9 │ │ │ │ │ └── sprintf-js@1.0.3 │ │ │ │ └── esprima@2.7.3 │ │ │ ├── sax@1.2.4 │ │ │ └── whet.extend@0.9.9 │ │ ├── postcss-unique-selectors@2.0.2 │ │ ├── postcss-value-parser@3.3.0 │ │ └── postcss-zindex@2.2.0 │ ├─┬ loader-utils@1.1.0 │ │ ├── big.js@3.1.3 │ │ └── emojis-list@2.1.0 │ ├── lodash.camelcase@4.3.0 │ ├── object-assign@4.1.1 │ ├─┬ postcss@5.2.17 │ │ ├── js-base64@2.3.1 │ │ ├── source-map@0.5.7 │ │ └── supports-color@3.2.3 │ ├─┬ postcss-modules-extract-imports@1.1.0 │ │ └─┬ postcss@6.0.11 │ │ ├─┬ chalk@2.1.0 │ │ │ └── ansi-styles@3.2.0 │ │ ├── source-map@0.5.7 │ │ └─┬ supports-color@4.4.0 │ │ └── has-flag@2.0.0 │ ├─┬ postcss-modules-local-by-default@1.2.0 │ │ └─┬ postcss@6.0.11 │ │ ├─┬ chalk@2.1.0 │ │ │ └── ansi-styles@3.2.0 │ │ ├── source-map@0.5.7 │ │ └─┬ supports-color@4.4.0 │ │ └── has-flag@2.0.0 │ ├─┬ postcss-modules-scope@1.1.0 │ │ └─┬ postcss@6.0.11 │ │ ├─┬ chalk@2.1.0 │ │ │ └── ansi-styles@3.2.0 │ │ ├── source-map@0.5.7 │ │ └─┬ supports-color@4.4.0 │ │ └── has-flag@2.0.0 │ ├─┬ postcss-modules-values@1.3.0 │ │ ├── icss-replace-symbols@1.1.0 │ │ └─┬ postcss@6.0.11 │ │ ├─┬ chalk@2.1.0 │ │ │ └── ansi-styles@3.2.0 │ │ ├── source-map@0.5.7 │ │ └─┬ supports-color@4.4.0 │ │ └── has-flag@2.0.0 │ └── source-list-map@0.1.8 ├── d3@3.5.17 ├── es6-promise@4.1.1 ├── file-loader@0.10.1 ├── font-awesome@4.7.0 ├─┬ fs-extra@2.1.2 │ ├── graceful-fs@4.1.11 │ └── jsonfile@2.4.0 ├─┬ glob@7.1.2 │ ├── fs.realpath@1.0.0 │ ├─┬ inflight@1.0.6 │ │ └── wrappy@1.0.2 │ ├── inherits@2.0.3 │ ├─┬ minimatch@3.0.4 │ │ └─┬ brace-expansion@1.1.8 │ │ ├── balanced-match@1.0.0 │ │ └── concat-map@0.0.1 │ ├── once@1.4.0 │ └── path-is-absolute@1.0.1 ├─┬ handlebars@4.0.10 │ ├── async@1.5.2 │ ├─┬ optimist@0.6.1 │ │ ├── minimist@0.0.10 │ │ └── wordwrap@0.0.3 │ ├─┬ source-map@0.4.4 │ │ └── amdefine@1.0.1 │ └─┬ uglify-js@2.8.29 │ ├── source-map@0.5.7 │ ├── uglify-to-browserify@1.0.2 │ └─┬ yargs@3.10.0 │ ├── camelcase@1.2.1 │ ├─┬ cliui@2.1.0 │ │ ├─┬ center-align@0.1.3 │ │ │ ├─┬ align-text@0.1.4 │ │ │ │ ├── longest@1.0.1 │ │ │ │ └── repeat-string@1.6.1 │ │ │ └── lazy-cache@1.0.4 │ │ ├── right-align@0.1.3 │ │ └── wordwrap@0.0.2 │ └── window-size@0.1.0 ├── json-loader@0.5.7 ├── raw-loader@0.5.1 ├─┬ sort-package-json@1.7.1 │ └── sort-object-keys@1.1.2 ├── style-loader@0.13.2 ├─┬ url-loader@0.5.9 │ └── mime@1.3.6 ├─┬ vega@2.6.5 │ ├─┬ d3-cloud@1.2.4 │ │ └── d3-dispatch@1.0.3 │ ├─┬ d3-geo-projection@0.2.16 │ │ └─┬ brfs@1.4.3 │ │ ├─┬ quote-stream@1.0.2 │ │ │ └── buffer-equal@0.0.1 │ │ ├─┬ resolve@1.4.0 │ │ │ └── path-parse@1.0.5 │ │ ├─┬ static-module@1.5.0 │ │ │ ├─┬ duplexer2@0.0.2 │ │ │ │ └─┬ readable-stream@1.1.14 │ │ │ │ ├── isarray@0.0.1 │ │ │ │ └── string_decoder@0.10.31 │ │ │ ├─┬ escodegen@1.3.3 │ │ │ │ ├── esprima@1.1.1 │ │ │ │ ├── estraverse@1.5.1 │ │ │ │ ├── esutils@1.0.0 │ │ │ │ └── source-map@0.1.43 │ │ │ ├─┬ falafel@2.1.0 │ │ │ │ ├── foreach@2.0.5 │ │ │ │ ├── isarray@0.0.1 │ │ │ │ └── object-keys@1.0.11 │ │ │ ├── object-inspect@0.4.0 │ │ │ ├─┬ quote-stream@0.0.0 │ │ │ │ └── minimist@0.0.8 │ │ │ ├─┬ readable-stream@1.0.34 │ │ │ │ ├── isarray@0.0.1 │ │ │ │ └── string_decoder@0.10.31 │ │ │ ├── shallow-copy@0.0.1 │ │ │ ├─┬ static-eval@0.2.4 │ │ │ │ └─┬ escodegen@0.0.28 │ │ │ │ ├── esprima@1.0.4 │ │ │ │ └── estraverse@1.3.2 │ │ │ └─┬ through2@0.4.2 │ │ │ └─┬ xtend@2.1.2 │ │ │ └── object-keys@0.4.0 │ │ └── through2@2.0.3 │ ├─┬ datalib@1.8.0 │ │ ├── d3-dsv@0.1.14 │ │ ├── d3-format@0.4.2 │ │ ├── d3-time@0.1.1 │ │ ├── d3-time-format@0.2.1 │ │ ├─┬ request@2.81.0 │ │ │ ├── aws-sign2@0.6.0 │ │ │ ├── aws4@1.6.0 │ │ │ ├── caseless@0.12.0 │ │ │ ├─┬ combined-stream@1.0.5 │ │ │ │ └── delayed-stream@1.0.0 │ │ │ ├── extend@3.0.1 │ │ │ ├── forever-agent@0.6.1 │ │ │ ├─┬ form-data@2.1.4 │ │ │ │ └── asynckit@0.4.0 │ │ │ ├─┬ har-validator@4.2.1 │ │ │ │ ├── ajv@4.11.8 │ │ │ │ └── har-schema@1.0.5 │ │ │ ├─┬ hawk@3.1.3 │ │ │ │ ├── boom@2.10.1 │ │ │ │ ├── cryptiles@2.0.5 │ │ │ │ ├── hoek@2.16.3 │ │ │ │ └── sntp@1.0.9 │ │ │ ├─┬ http-signature@1.1.1 │ │ │ │ ├── assert-plus@0.2.0 │ │ │ │ ├─┬ jsprim@1.4.1 │ │ │ │ │ ├── assert-plus@1.0.0 │ │ │ │ │ ├── extsprintf@1.3.0 │ │ │ │ │ ├── json-schema@0.2.3 │ │ │ │ │ └─┬ verror@1.10.0 │ │ │ │ │ └── assert-plus@1.0.0 │ │ │ │ └─┬ sshpk@1.13.1 │ │ │ │ ├── asn1@0.2.3 │ │ │ │ ├── assert-plus@1.0.0 │ │ │ │ ├── bcrypt-pbkdf@1.0.1 │ │ │ │ ├─┬ dashdash@1.14.1 │ │ │ │ │ └── assert-plus@1.0.0 │ │ │ │ ├── ecc-jsbn@0.1.1 │ │ │ │ ├─┬ getpass@0.1.7 │ │ │ │ │ └── assert-plus@1.0.0 │ │ │ │ ├── jsbn@0.1.1 │ │ │ │ └── tweetnacl@0.14.5 │ │ │ ├── is-typedarray@1.0.0 │ │ │ ├── isstream@0.1.2 │ │ │ ├── json-stringify-safe@5.0.1 │ │ │ ├─┬ mime-types@2.1.17 │ │ │ │ └── mime-db@1.30.0 │ │ │ ├── oauth-sign@0.8.2 │ │ │ ├── performance-now@0.2.0 │ │ │ ├── qs@6.4.0 │ │ │ ├── safe-buffer@5.1.1 │ │ │ ├── stringstream@0.0.5 │ │ │ ├── tough-cookie@2.3.2 │ │ │ ├── tunnel-agent@0.6.0 │ │ │ └── uuid@3.1.0 │ │ └─┬ sync-request@2.2.0 │ │ ├─┬ concat-stream@1.6.0 │ │ │ └── typedarray@0.0.6 │ │ ├── http-response-object@1.1.0 │ │ ├─┬ spawn-sync@1.0.15 │ │ │ └── os-shim@0.1.3 │ │ └─┬ then-request@2.2.0 │ │ ├── caseless@0.11.0 │ │ ├─┬ http-basic@2.5.1 │ │ │ └── caseless@0.11.0 │ │ └─┬ promise@7.3.1 │ │ └── asap@2.0.6 │ ├─┬ topojson@1.6.27 │ │ ├── d3-queue@2.0.3 │ │ ├── optimist@0.3.7 │ │ └─┬ shapefile@0.3.1 │ │ ├── d3-queue@1.2.3 │ │ └── iconv-lite@0.2.11 │ ├── vega-dataflow@1.4.3 │ ├── vega-event-selector@1.1.0 │ ├── vega-expression@1.2.1 │ ├── vega-logging@1.0.2 │ ├── vega-scenegraph@1.1.0 │ └─┬ yargs@3.32.0 │ ├── camelcase@2.1.1 │ ├─┬ cliui@3.2.0 │ │ └── wrap-ansi@2.1.0 │ ├─┬ os-locale@1.4.0 │ │ └─┬ lcid@1.0.0 │ │ └── invert-kv@1.0.0 │ ├─┬ string-width@1.0.2 │ │ ├── code-point-at@1.1.0 │ │ └─┬ is-fullwidth-code-point@1.0.0 │ │ └── number-is-nan@1.0.1 │ ├── window-size@0.1.4 │ └── y18n@3.2.1 ├── vega-embed@2.2.0 ├─┬ vega-lite@1.3.1 │ ├─┬ datalib@1.7.3 │ │ ├── d3-dsv@0.1.14 │ │ └── d3-format@0.4.2 │ ├─┬ json-stable-stringify@1.0.1 │ │ └── jsonify@0.0.0 │ └─┬ yargs@6.3.0 │ ├── camelcase@3.0.0 │ ├── get-caller-file@1.0.2 │ ├─┬ read-pkg-up@1.0.1 │ │ ├─┬ find-up@1.1.2 │ │ │ ├── path-exists@2.1.0 │ │ │ └─┬ pinkie-promise@2.0.1 │ │ │ └── pinkie@2.0.4 │ │ └─┬ read-pkg@1.1.0 │ │ ├─┬ load-json-file@1.1.0 │ │ │ ├─┬ parse-json@2.2.0 │ │ │ │ └─┬ error-ex@1.3.1 │ │ │ │ └── is-arrayish@0.2.1 │ │ │ ├── pify@2.3.0 │ │ │ └─┬ strip-bom@2.0.0 │ │ │ └── is-utf8@0.2.1 │ │ ├─┬ normalize-package-data@2.4.0 │ │ │ ├── hosted-git-info@2.5.0 │ │ │ ├─┬ is-builtin-module@1.0.0 │ │ │ │ └── builtin-modules@1.1.1 │ │ │ └─┬ validate-npm-package-license@3.0.1 │ │ │ ├─┬ spdx-correct@1.0.2 │ │ │ │ └── spdx-license-ids@1.2.2 │ │ │ └── spdx-expression-parse@1.0.4 │ │ └── path-type@1.1.0 │ ├── require-directory@2.1.1 │ ├── require-main-filename@1.0.1 │ ├── set-blocking@2.0.0 │ ├── which-module@1.0.0 │ ├── window-size@0.2.0 │ └─┬ yargs-parser@4.2.1 │ └── camelcase@3.0.0 └─┬ webpack@2.7.0 ├── acorn@5.1.2 ├─┬ acorn-dynamic-import@2.0.2 │ └── acorn@4.0.13 ├── ajv@4.11.8 ├── ajv-keywords@1.5.1 ├── async@2.5.0 ├── enhanced-resolve@3.4.1 ├── interpret@1.0.3 ├── json5@0.5.1 ├── loader-runner@2.3.0 ├── loader-utils@0.2.17 ├─┬ memory-fs@0.4.1 │ ├─┬ errno@0.1.4 │ │ └── prr@0.0.0 │ └─┬ readable-stream@2.3.3 │ ├── core-util-is@1.0.2 │ ├── isarray@1.0.0 │ ├── process-nextick-args@1.0.7 │ ├── string_decoder@1.0.3 │ └── util-deprecate@1.0.2 ├─┬ mkdirp@0.5.1 │ └── minimist@0.0.8 ├─┬ node-libs-browser@2.0.0 │ ├── assert@1.4.1 │ ├─┬ browserify-zlib@0.1.4 │ │ └── pako@0.2.9 │ ├─┬ buffer@4.9.1 │ │ ├── base64-js@1.2.1 │ │ └── ieee754@1.1.8 │ ├─┬ console-browserify@1.1.0 │ │ └── date-now@0.1.4 │ ├── constants-browserify@1.0.0 │ ├─┬ crypto-browserify@3.11.1 │ │ ├─┬ browserify-cipher@1.0.0 │ │ │ ├─┬ browserify-aes@1.0.8 │ │ │ │ └── buffer-xor@1.0.3 │ │ │ ├─┬ browserify-des@1.0.0 │ │ │ │ └── des.js@1.0.0 │ │ │ └─┬ evp_bytestokey@1.0.3 │ │ │ └─┬ md5.js@1.3.4 │ │ │ └── hash-base@3.0.4 │ │ ├─┬ browserify-sign@4.0.4 │ │ │ ├── bn.js@4.11.8 │ │ │ ├── browserify-rsa@4.0.1 │ │ │ ├─┬ elliptic@6.4.0 │ │ │ │ ├── brorand@1.1.0 │ │ │ │ ├── hash.js@1.1.3 │ │ │ │ ├── hmac-drbg@1.0.1 │ │ │ │ ├── minimalistic-assert@1.0.0 │ │ │ │ └── minimalistic-crypto-utils@1.0.1 │ │ │ └─┬ parse-asn1@5.1.0 │ │ │ └── asn1.js@4.9.1 │ │ ├── create-ecdh@4.0.0 │ │ ├─┬ create-hash@1.1.3 │ │ │ ├── cipher-base@1.0.4 │ │ │ ├─┬ ripemd160@2.0.1 │ │ │ │ └── hash-base@2.0.2 │ │ │ └── sha.js@2.4.8 │ │ ├── create-hmac@1.1.6 │ │ ├─┬ diffie-hellman@5.0.2 │ │ │ └── miller-rabin@4.0.0 │ │ ├── pbkdf2@3.0.14 │ │ ├── public-encrypt@4.0.0 │ │ └── randombytes@2.0.5 │ ├── domain-browser@1.1.7 │ ├── events@1.1.1 │ ├── https-browserify@0.0.1 │ ├── os-browserify@0.2.1 │ ├── path-browserify@0.0.0 │ ├── process@0.11.10 │ ├── punycode@1.4.1 │ ├── querystring-es3@0.2.1 │ ├── stream-browserify@2.0.1 │ ├─┬ stream-http@2.7.2 │ │ ├── builtin-status-codes@3.0.0 │ │ └── to-arraybuffer@1.0.1 │ ├── string_decoder@0.10.31 │ ├─┬ timers-browserify@2.0.4 │ │ └── setimmediate@1.0.5 │ ├── tty-browserify@0.0.0 │ ├─┬ url@0.11.0 │ │ ├── punycode@1.3.2 │ │ └── querystring@0.2.0 │ ├─┬ util@0.10.3 │ │ └── inherits@2.0.1 │ └─┬ vm-browserify@0.0.4 │ └── indexof@0.0.1 ├── source-map@0.5.7 ├─┬ supports-color@3.2.3 │ └── has-flag@1.0.0 ├── tapable@0.2.8 ├─┬ watchpack@1.4.0 │ ├── async@2.5.0 │ └─┬ chokidar@1.7.0 │ ├─┬ anymatch@1.3.2 │ │ ├─┬ micromatch@2.3.11 │ │ │ ├─┬ arr-diff@2.0.0 │ │ │ │ └── arr-flatten@1.1.0 │ │ │ ├── array-unique@0.2.1 │ │ │ ├─┬ braces@1.8.5 │ │ │ │ ├─┬ expand-range@1.8.2 │ │ │ │ │ └─┬ fill-range@2.2.3 │ │ │ │ │ ├── is-number@2.1.0 │ │ │ │ │ ├── isobject@2.1.0 │ │ │ │ │ └─┬ randomatic@1.1.7 │ │ │ │ │ ├─┬ is-number@3.0.0 │ │ │ │ │ │ └── kind-of@3.2.2 │ │ │ │ │ └── kind-of@4.0.0 │ │ │ │ ├── preserve@0.2.0 │ │ │ │ └── repeat-element@1.1.2 │ │ │ ├─┬ expand-brackets@0.1.5 │ │ │ │ └── is-posix-bracket@0.1.1 │ │ │ ├── extglob@0.3.2 │ │ │ ├── filename-regex@2.0.1 │ │ │ ├─┬ kind-of@3.2.2 │ │ │ │ └── is-buffer@1.1.5 │ │ │ ├─┬ object.omit@2.0.1 │ │ │ │ ├─┬ for-own@0.1.5 │ │ │ │ │ └── for-in@1.0.2 │ │ │ │ └── is-extendable@0.1.1 │ │ │ ├─┬ parse-glob@3.0.4 │ │ │ │ ├── glob-base@0.3.0 │ │ │ │ └── is-dotfile@1.0.3 │ │ │ └─┬ regex-cache@0.4.4 │ │ │ └─┬ is-equal-shallow@0.1.3 │ │ │ └── is-primitive@2.0.0 │ │ └─┬ normalize-path@2.1.1 │ │ └── remove-trailing-separator@1.1.0 │ ├── async-each@1.0.1 │ ├── glob-parent@2.0.0 │ ├─┬ is-binary-path@1.0.1 │ │ └── binary-extensions@1.10.0 │ ├─┬ is-glob@2.0.1 │ │ └── is-extglob@1.0.0 │ └─┬ readdirp@2.1.0 │ └── set-immediate-shim@1.0.1 ├─┬ webpack-sources@1.0.1 │ ├── source-list-map@2.0.0 │ └── source-map@0.5.7 └─┬ yargs@6.6.0 └── camelcase@3.0.0 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: canvas@1.6.7 (node_modules/canvas): npm WARN optional SKIPPING OPTIONAL DEPENDENCY: canvas@1.6.7 install: `node-gyp rebuild` npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1 > npm run build > @jupyterlab/application-top@0.10.2 build /opt/conda/share/jupyter/lab/staging > webpack Hash: 88f763e037a743abd8d7 Version: webpack 2.7.0 Time: 9453ms Asset Size Chunks Chunk Names 674f50d287a8c48dc19ba404d20fe713.eot 166 kB [emitted] af7ae505a9eed503f8b8e6982036873e.woff2 77.2 kB [emitted] fee66e712a8a08eef5805a46892932ad.woff 98 kB [emitted] b06871f281fee6b241d60582ae9369b9.ttf 166 kB [emitted] 912ec66d7572ff821749319396470bde.svg 444 kB [emitted] [big] 0.bundle.js 893 kB 0 [emitted] [big] main.bundle.js 8.29 MB 1 [emitted] [big] main 0.bundle.js.map 1.08 MB 0 [emitted] main.bundle.js.map 9.96 MB 1 [emitted] main [6] ./~/@jupyterlab/coreutils/lib/index.js 870 bytes {1} [built] [27] ./~/@jupyterlab/application/lib/index.js 5.48 kB {1} [built] [453] ./~/@jupyterlab/application-extension/lib/index.js 6.12 kB {1} [optional] [built] [454] ./~/@jupyterlab/apputils-extension/lib/index.js 7.91 kB {1} [optional] [built] [455] ./~/@jupyterlab/codemirror-extension/lib/index.js 10.5 kB {1} [optional] [built] [456] ./~/@jupyterlab/completer-extension/lib/index.js 7.09 kB {1} [optional] [built] [457] ./~/@jupyterlab/console-extension/lib/index.js 12.5 kB {1} [optional] [built] [458] ./~/@jupyterlab/csvviewer-extension/lib/index.js 1.79 kB {1} [optional] [built] [459] ./~/@jupyterlab/docmanager-extension/lib/index.js 10.1 kB {1} [optional] [built] [460] ./~/@jupyterlab/faq-extension/lib/index.js 3.78 kB {1} [optional] [built] [461] ./~/@jupyterlab/filebrowser-extension/lib/index.js 11.9 kB {1} [optional] [built] [462] ./~/@jupyterlab/fileeditor-extension/lib/index.js 11.8 kB {1} [optional] [built] [463] ./~/@jupyterlab/help-extension/lib/index.js 8.84 kB {1} [optional] [built] [464] ./~/@jupyterlab/imageviewer-extension/lib/index.js 4.25 kB {1} [optional] [built] [494] ./build/index.out.js 8.38 kB {1} [built] + 1180 hidden modules jovyan@b3de5911829e:~$
jasongrout commented 7 years ago

pkg-config is a system package, not an npm package. Does which pkg-config work at the command line? If not, can you install pkg-config as a system package?

tylere commented 7 years ago

pkg-config is not installed.

jovyan@b3de5911829e:~$ which pkg-config
jovyan@b3de5911829e:~$
jovyan@686b811a5f3b:~$ sudo apt-get install pkg-config
[sudo] password for jovyan:

However, the install requires sudo permissions and I don't know how to successfully install it from within the datalab terminal. Later today I'll try building a new container with pkg-config installed.

jasongrout commented 7 years ago

That might work, or you can try maybe with jupyterlab master, that has that patch applied.

tylere commented 7 years ago

After adding pkg-config to the docker-stacks jupyter/minimal-notebook, I still get the same output of "A Jupyter Widget" and console error:

default.js:1469 Uncaught (in promise) Error: Object 'jupyter.widget' not found in registry
    at default.js:1469
    at Promise (<anonymous>)
    at Object.loadObject (default.js:1448)
    at DefaultKernel._handleCommOpen (default.js:897)
    at DefaultKernel._onWSMessage (default.js:729)
    at WebSocket._ws.onmessage (default.js:653)

As a next step I'll try running JupyterLab master (but I haven't tried creating a dev environment for Jupyterlab).

Full installation details: Dockerfile ``` FROM jupyter/minimal-notebook MAINTAINER Tyler Erickson USER root # pkg-config for jupyterlab ipywidgets install bug RUN apt-get update && \ apt-get install -y --no-install-recommends pkg-config && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* USER $NB_USER ``` ``` $ docker build --tag test-pkg-config . Sending build context to Docker daemon 2.048kB Step 1/5 : FROM jupyter/minimal-notebook ---> cb8b004e5dcf Step 2/5 : MAINTAINER Tyler Erickson ---> Running in 7a755889e52e ---> c11f8fcfacf8 Removing intermediate container 7a755889e52e Step 3/5 : USER root ---> Running in 1477db8b240b ---> 42e2f180b9b3 Removing intermediate container 1477db8b240b Step 4/5 : RUN apt-get update && apt-get install -y --no-install-recommends pkg-config && apt-get clean && rm -rf /var/lib/apt/lists/* ---> Running in 7d9e09895682 Get:1 http://archive.ubuntu.com/ubuntu xenial InRelease [247 kB] Get:2 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB] Get:3 http://security.ubuntu.com/ubuntu xenial-security/universe Sources [48.9 kB] Get:4 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [102 kB] Get:5 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages [443 kB] Get:6 http://archive.ubuntu.com/ubuntu xenial-backports InRelease [102 kB] Get:7 http://archive.ubuntu.com/ubuntu xenial/universe Sources [9,802 kB] Get:8 http://security.ubuntu.com/ubuntu xenial-security/restricted amd64 Packages [12.8 kB] Get:9 http://security.ubuntu.com/ubuntu xenial-security/universe amd64 Packages [207 kB] Get:10 http://security.ubuntu.com/ubuntu xenial-security/multiverse amd64 Packages [2,935 B] Get:11 http://archive.ubuntu.com/ubuntu xenial/main amd64 Packages [1,558 kB] Get:12 http://archive.ubuntu.com/ubuntu xenial/restricted amd64 Packages [14.1 kB] Get:13 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages [9,827 kB] Get:14 http://archive.ubuntu.com/ubuntu xenial/multiverse amd64 Packages [176 kB] Get:15 http://archive.ubuntu.com/ubuntu xenial-updates/universe Sources [217 kB] Get:16 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages [804 kB] Get:17 http://archive.ubuntu.com/ubuntu xenial-updates/restricted amd64 Packages [13.6 kB] Get:18 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages [671 kB] Get:19 http://archive.ubuntu.com/ubuntu xenial-updates/multiverse amd64 Packages [17.5 kB] Get:20 http://archive.ubuntu.com/ubuntu xenial-backports/main amd64 Packages [5,177 B] Get:21 http://archive.ubuntu.com/ubuntu xenial-backports/universe amd64 Packages [6,236 B] Fetched 24.4 MB in 7s (3,340 kB/s) Reading package lists... Reading package lists... Building dependency tree... Reading state information... The following NEW packages will be installed: pkg-config 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 45.0 kB of archives. After this operation, 177 kB of additional disk space will be used. Get:1 http://archive.ubuntu.com/ubuntu xenial/main amd64 pkg-config amd64 0.29.1-0ubuntu1 [45.0 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 45.0 kB in 0s (79.6 kB/s) Selecting previously unselected package pkg-config. (Reading database ... 97978 files and directories currently installed.) Preparing to unpack .../pkg-config_0.29.1-0ubuntu1_amd64.deb ... Unpacking pkg-config (0.29.1-0ubuntu1) ... Setting up pkg-config (0.29.1-0ubuntu1) ... ---> 98ff2100c236 Removing intermediate container 7d9e09895682 Step 5/5 : USER $NB_USER ---> Running in a1494520f02f ---> 32389104aa66 Removing intermediate container a1494520f02f Successfully built 32389104aa66 Successfully tagged test-pkg-config:latest ``` ``` docker run -it -p 8888:8888 --rm test-pkg-config:latest start.sh jupyter lab ``` ``` jovyan@6eeddca9af0f:~$ which pkg-config /usr/bin/pkg-config ``` ``` jovyan@6eeddca9af0f:~$ pip install ipywidgets Collecting ipywidgets Downloading ipywidgets-7.0.0-py2.py3-none-any.whl (64kB) 100% |████████████████████████████████| 71kB 1.8MB/s Requirement already satisfied: ipykernel>=4.5.1 in /opt/conda/lib/python3.6/site-packages (from ipywidgets) Requirement already satisfied: traitlets>=4.3.1 in /opt/conda/lib/python3.6/site-packages (from ipywidgets) Collecting widgetsnbextension~=3.0.0 (from ipywidgets) Downloading widgetsnbextension-3.0.2-py2.py3-none-any.whl (2.5MB) 100% |████████████████████████████████| 2.5MB 268kB/s Requirement already satisfied: nbformat>=4.2.0 in /opt/conda/lib/python3.6/site-packages (from ipywidgets) Requirement already satisfied: ipython>=4.0.0; python_version >= "3.3" in /opt/conda/lib/python3.6/site-packages (from ipy widgets) Requirement already satisfied: tornado>=4.0 in /opt/conda/lib/python3.6/site-packages (from ipykernel>=4.5.1->ipywidgets) Requirement already satisfied: jupyter-client in /opt/conda/lib/python3.6/site-packages (from ipykernel>=4.5.1->ipywidgets ) Requirement already satisfied: six in /opt/conda/lib/python3.6/site-packages (from traitlets>=4.3.1->ipywidgets) Requirement already satisfied: decorator in /opt/conda/lib/python3.6/site-packages (from traitlets>=4.3.1->ipywidgets) Requirement already satisfied: ipython-genutils in /opt/conda/lib/python3.6/site-packages (from traitlets>=4.3.1->ipywidge ts) Requirement already satisfied: notebook>=4.4.1 in /opt/conda/lib/python3.6/site-packages (from widgetsnbextension~=3.0.0-> ipywidgets) Requirement already satisfied: jupyter-core in /opt/conda/lib/python3.6/site-packages (from nbformat>=4.2.0->ipywidgets) Requirement already satisfied: jsonschema!=2.5.0,>=2.4 in /opt/conda/lib/python3.6/site-packages (from nbformat>=4.2.0->ip ywidgets) Requirement already satisfied: pickleshare in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: pygments in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: prompt-toolkit<2.0.0,>=1.0.4 in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0 ; python_version >= "3.3"->ipywidgets) Requirement already satisfied: jedi>=0.10 in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version > = "3.3"->ipywidgets) Requirement already satisfied: setuptools>=18.5 in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_ver sion >= "3.3"->ipywidgets) Requirement already satisfied: simplegeneric>0.8 in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_ve rsion >= "3.3"->ipywidgets) Requirement already satisfied: pexpect; sys_platform != "win32" in /opt/conda/lib/python3.6/site-packages (from ipython>=4 .0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: pyzmq>=13 in /opt/conda/lib/python3.6/site-packages (from jupyter-client->ipykernel>=4.5.1- >ipywidgets) Requirement already satisfied: python-dateutil>=2.1 in /opt/conda/lib/python3.6/site-packages (from jupyter-client->ipyker nel>=4.5.1->ipywidgets) Requirement already satisfied: nbconvert in /opt/conda/lib/python3.6/site-packages (from notebook>=4.4.1->widgetsnbextensi on~=3.0.0->ipywidgets) Requirement already satisfied: jinja2 in /opt/conda/lib/python3.6/site-packages (from notebook>=4.4.1->widgetsnbextension~ =3.0.0->ipywidgets) Requirement already satisfied: terminado>=0.3.3; sys_platform != "win32" in /opt/conda/lib/python3.6/site-packages (from n otebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: wcwidth in /opt/conda/lib/python3.6/site-packages (from prompt-toolkit<2.0.0,>=1.0.4->ipyth on>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: mistune!=0.6 in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->wi dgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: bleach in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsn bextension~=3.0.0->ipywidgets) Requirement already satisfied: entrypoints>=0.2.2 in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4 .1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: pandocfilters>=1.4.1 in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4 .4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: testpath in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: MarkupSafe>=0.23 in /opt/conda/lib/python3.6/site-packages (from jinja2->notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: html5lib!=0.9999,!=0.99999,<0.99999999,>=0.999 in /opt/conda/lib/python3.6/site-packages (from bleach->nbconvert->notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Installing collected packages: widgetsnbextension, ipywidgets Successfully installed ipywidgets-7.0.0 widgetsnbextension-3.0.2 ``` ``` jovyan@6eeddca9af0f:~$ jupyter nbextension enable --py widgetsnbextension --sys-prefix Enabling notebook extension jupyter-js-widgets/extension... - Validating: OK ``` ``` jovyan@6eeddca9af0f:~$ jupyter labextension install @jupyter-widgets/jupyterlab-manager > npm pack @jupyter-widgets/jupyterlab-manager jupyter-widgets-jupyterlab-manager-0.27.0.tgz > node node-version-check.js > npm install npm WARN prefer global marked@0.3.6 should be installed with -g > canvas@1.6.7 install /opt/conda/share/jupyter/lab/staging/node_modules/canvas > node-gyp rebuild Package cairo was not found in the pkg-config search path. Perhaps you should add the directory containing `cairo.pc' to the PKG_CONFIG_PATH environment variable No package 'cairo' found gyp: Call to './util/has_lib.sh freetype' returned exit status 0 while in binding.gyp. while trying to load binding.gyp gyp ERR! configure error gyp ERR! stack Error: `gyp` failed with exit code: 1 gyp ERR! stack at ChildProcess.onCpExit (/opt/conda/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:305:16) gyp ERR! stack at emitTwo (events.js:106:13) gyp ERR! stack at ChildProcess.emit (events.js:191:7) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12) gyp ERR! System Linux 4.9.41-moby gyp ERR! command "/opt/conda/bin/node" "/opt/conda/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /opt/conda/share/jupyter/lab/staging/node_modules/canvas gyp ERR! node -v v6.11.0 gyp ERR! node-gyp -v v3.4.0 gyp ERR! not ok > spawn-sync@1.0.15 postinstall /opt/conda/share/jupyter/lab/staging/node_modules/spawn-sync > node postinstall @jupyterlab/application-top@0.10.2 /opt/conda/share/jupyter/lab/staging ├─┬ @jupyter-widgets/jupyterlab-manager@0.27.0 │ ├─┬ @jupyter-widgets/base@1.0.1 │ │ ├── @jupyter-widgets/schema@0.3.0 │ │ ├─┬ @types/backbone@1.3.36 │ │ │ ├── @types/jquery@3.2.12 │ │ │ └── @types/underscore@1.8.3 │ │ ├── @types/lodash@4.14.74 │ │ ├── @types/semver@5.4.0 │ │ ├── backbone@1.2.3 │ │ ├── jquery@3.2.1 │ │ ├── lodash@4.17.4 │ │ └── semver@5.4.1 │ ├─┬ @jupyter-widgets/controls@1.0.1 │ │ ├── d3-format@0.5.1 │ │ ├── jquery-ui@1.12.1 │ │ └── underscore@1.8.3 │ └── @jupyter-widgets/output@1.0.1 ├─┬ @jupyterlab/application@0.10.0 │ ├── @phosphor/application@1.5.0 │ └── @phosphor/properties@1.1.2 ├── @jupyterlab/application-extension@0.10.0 ├─┬ @jupyterlab/apputils@0.10.0 │ ├── @phosphor/domutils@1.1.2 │ └─┬ sanitize-html@1.14.1 │ ├─┬ htmlparser2@3.9.2 │ │ ├── domelementtype@1.3.0 │ │ ├── domhandler@2.4.1 │ │ ├─┬ domutils@1.6.2 │ │ │ └─┬ dom-serializer@0.1.0 │ │ │ └── domelementtype@1.1.3 │ │ └── entities@1.1.1 │ ├── regexp-quote@0.0.0 │ └── xtend@4.0.1 ├── @jupyterlab/apputils-extension@0.10.2 ├── @jupyterlab/cells@0.10.0 ├── @jupyterlab/codeeditor@0.10.0 ├─┬ @jupyterlab/codemirror@0.10.0 │ └── codemirror@5.29.0 ├── @jupyterlab/codemirror-extension@0.10.0 ├── @jupyterlab/completer@0.10.0 ├── @jupyterlab/completer-extension@0.10.0 ├── @jupyterlab/console@0.10.0 ├── @jupyterlab/console-extension@0.10.0 ├─┬ @jupyterlab/coreutils@0.10.0 │ ├─┬ ajv@5.2.2 │ │ ├── co@4.6.0 │ │ ├── fast-deep-equal@1.0.0 │ │ └── json-schema-traverse@0.3.1 │ ├── minimist@1.2.0 │ ├── moment@2.18.1 │ ├── path-posix@1.0.0 │ └─┬ url-parse@1.1.9 │ ├── querystringify@1.0.0 │ └── requires-port@1.0.0 ├─┬ @jupyterlab/csvviewer@0.10.0 │ ├── @phosphor/datagrid@0.1.5 │ └─┬ d3-dsv@1.0.7 │ ├── commander@2.11.0 │ ├── iconv-lite@0.4.19 │ └── rw@1.3.3 ├── @jupyterlab/csvviewer-extension@0.10.0 ├── @jupyterlab/docmanager@0.10.0 ├── @jupyterlab/docmanager-extension@0.10.0 ├── @jupyterlab/docregistry@0.10.0 ├── @jupyterlab/faq-extension@0.10.0 ├─┬ @jupyterlab/filebrowser@0.10.0 │ └── @phosphor/dragdrop@1.3.0 ├── @jupyterlab/filebrowser-extension@0.10.0 ├── @jupyterlab/fileeditor@0.10.0 ├── @jupyterlab/fileeditor-extension@0.10.0 ├── @jupyterlab/help-extension@0.10.0 ├── @jupyterlab/imageviewer@0.10.0 ├── @jupyterlab/imageviewer-extension@0.10.0 ├── @jupyterlab/inspector@0.10.0 ├── @jupyterlab/inspector-extension@0.10.0 ├── @jupyterlab/launcher@0.10.0 ├── @jupyterlab/launcher-extension@0.10.0 ├── @jupyterlab/markdownviewer-extension@0.10.0 ├── @jupyterlab/notebook@0.10.0 ├── @jupyterlab/notebook-extension@0.10.0 ├── @jupyterlab/outputarea@0.10.0 ├── @jupyterlab/pdf-extension@0.2.0 ├─┬ @jupyterlab/rendermime@0.10.0 │ ├── ansi_up@1.3.0 │ └── marked@0.3.6 ├── @jupyterlab/rendermime-interfaces@0.3.1 ├── @jupyterlab/running@0.10.0 ├── @jupyterlab/running-extension@0.10.0 ├── @jupyterlab/services@0.49.0 ├── @jupyterlab/settingeditor-extension@0.5.0 ├── @jupyterlab/shortcuts-extension@0.10.0 ├── @jupyterlab/tabmanager-extension@0.10.0 ├─┬ @jupyterlab/terminal@0.10.0 │ └── xterm@2.8.1 ├── @jupyterlab/terminal-extension@0.10.0 ├── @jupyterlab/theme-dark-extension@0.10.0 ├── @jupyterlab/theme-light-extension@0.10.0 ├── @jupyterlab/tooltip@0.10.0 ├── @jupyterlab/tooltip-extension@0.10.0 ├── @jupyterlab/vega2-extension@0.10.0 ├── @phosphor/algorithm@1.1.2 ├─┬ @phosphor/commands@1.4.0 │ └── @phosphor/keyboard@1.1.2 ├── @phosphor/coreutils@1.3.0 ├── @phosphor/disposable@1.1.2 ├─┬ @phosphor/messaging@1.2.2 │ └── @phosphor/collections@1.1.2 ├── @phosphor/signaling@1.2.2 ├── @phosphor/virtualdom@1.1.2 ├── @phosphor/widgets@1.5.0 ├─┬ css-loader@0.27.3 │ ├─┬ babel-code-frame@6.26.0 │ │ ├─┬ chalk@1.1.3 │ │ │ ├── ansi-styles@2.2.1 │ │ │ ├── escape-string-regexp@1.0.5 │ │ │ ├─┬ has-ansi@2.0.0 │ │ │ │ └── ansi-regex@2.1.1 │ │ │ ├── strip-ansi@3.0.1 │ │ │ └── supports-color@2.0.0 │ │ ├── esutils@2.0.2 │ │ └── js-tokens@3.0.2 │ ├─┬ css-selector-tokenizer@0.7.0 │ │ ├── cssesc@0.1.0 │ │ ├── fastparse@1.1.1 │ │ └─┬ regexpu-core@1.0.0 │ │ ├── regenerate@1.3.2 │ │ ├── regjsgen@0.2.0 │ │ └─┬ regjsparser@0.1.5 │ │ └── jsesc@0.5.0 │ ├─┬ cssnano@3.10.0 │ │ ├─┬ autoprefixer@6.7.7 │ │ │ ├─┬ browserslist@1.7.7 │ │ │ │ └── electron-to-chromium@1.3.21 │ │ │ ├── caniuse-db@1.0.30000727 │ │ │ ├── normalize-range@0.1.2 │ │ │ └── num2fraction@1.2.2 │ │ ├── decamelize@1.2.0 │ │ ├── defined@1.0.0 │ │ ├─┬ has@1.0.1 │ │ │ └── function-bind@1.1.1 │ │ ├─┬ postcss-calc@5.3.1 │ │ │ ├── postcss-message-helpers@2.0.0 │ │ │ └─┬ reduce-css-calc@1.3.0 │ │ │ ├── balanced-match@0.4.2 │ │ │ ├── math-expression-evaluator@1.2.17 │ │ │ └── reduce-function-call@1.0.2 │ │ ├─┬ postcss-colormin@2.2.2 │ │ │ └─┬ colormin@1.1.2 │ │ │ ├─┬ color@0.11.4 │ │ │ │ ├── clone@1.0.2 │ │ │ │ ├─┬ color-convert@1.9.0 │ │ │ │ │ └── color-name@1.1.3 │ │ │ │ └── color-string@0.3.0 │ │ │ └── css-color-names@0.0.4 │ │ ├── postcss-convert-values@2.6.1 │ │ ├── postcss-discard-comments@2.0.4 │ │ ├── postcss-discard-duplicates@2.1.0 │ │ ├── postcss-discard-empty@2.1.0 │ │ ├── postcss-discard-overridden@0.1.1 │ │ ├─┬ postcss-discard-unused@2.2.3 │ │ │ └── uniqs@2.0.0 │ │ ├─┬ postcss-filter-plugins@2.0.2 │ │ │ └─┬ uniqid@4.1.1 │ │ │ └── macaddress@0.2.8 │ │ ├── postcss-merge-idents@2.1.7 │ │ ├── postcss-merge-longhand@2.0.2 │ │ ├─┬ postcss-merge-rules@2.1.2 │ │ │ ├─┬ caniuse-api@1.6.1 │ │ │ │ ├── lodash.memoize@4.1.2 │ │ │ │ └── lodash.uniq@4.5.0 │ │ │ ├─┬ postcss-selector-parser@2.2.3 │ │ │ │ ├── flatten@1.0.2 │ │ │ │ ├── indexes-of@1.0.1 │ │ │ │ └── uniq@1.0.1 │ │ │ └── vendors@1.0.1 │ │ ├── postcss-minify-font-values@1.0.5 │ │ ├── postcss-minify-gradients@1.0.5 │ │ ├─┬ postcss-minify-params@1.2.2 │ │ │ └── alphanum-sort@1.0.2 │ │ ├── postcss-minify-selectors@2.1.1 │ │ ├── postcss-normalize-charset@1.1.1 │ │ ├─┬ postcss-normalize-url@3.0.8 │ │ │ ├── is-absolute-url@2.1.0 │ │ │ └─┬ normalize-url@1.9.1 │ │ │ ├── prepend-http@1.0.4 │ │ │ ├─┬ query-string@4.3.4 │ │ │ │ └── strict-uri-encode@1.1.0 │ │ │ └─┬ sort-keys@1.1.2 │ │ │ └── is-plain-obj@1.1.0 │ │ ├── postcss-ordered-values@2.2.3 │ │ ├── postcss-reduce-idents@2.4.0 │ │ ├── postcss-reduce-initial@1.0.1 │ │ ├── postcss-reduce-transforms@1.0.4 │ │ ├─┬ postcss-svgo@2.1.6 │ │ │ ├─┬ is-svg@2.1.0 │ │ │ │ └── html-comment-regex@1.1.1 │ │ │ └─┬ svgo@0.7.2 │ │ │ ├─┬ coa@1.0.4 │ │ │ │ └── q@1.5.0 │ │ │ ├── colors@1.1.2 │ │ │ ├─┬ csso@2.3.2 │ │ │ │ ├── clap@1.2.0 │ │ │ │ └── source-map@0.5.7 │ │ │ ├─┬ js-yaml@3.7.0 │ │ │ │ ├─┬ argparse@1.0.9 │ │ │ │ │ └── sprintf-js@1.0.3 │ │ │ │ └── esprima@2.7.3 │ │ │ ├── sax@1.2.4 │ │ │ └── whet.extend@0.9.9 │ │ ├── postcss-unique-selectors@2.0.2 │ │ ├── postcss-value-parser@3.3.0 │ │ └── postcss-zindex@2.2.0 │ ├─┬ loader-utils@1.1.0 │ │ ├── big.js@3.1.3 │ │ └── emojis-list@2.1.0 │ ├── lodash.camelcase@4.3.0 │ ├── object-assign@4.1.1 │ ├─┬ postcss@5.2.17 │ │ ├── js-base64@2.3.1 │ │ ├── source-map@0.5.7 │ │ └── supports-color@3.2.3 │ ├─┬ postcss-modules-extract-imports@1.1.0 │ │ └─┬ postcss@6.0.11 │ │ ├─┬ chalk@2.1.0 │ │ │ └── ansi-styles@3.2.0 │ │ ├── source-map@0.5.7 │ │ └─┬ supports-color@4.4.0 │ │ └── has-flag@2.0.0 │ ├─┬ postcss-modules-local-by-default@1.2.0 │ │ └─┬ postcss@6.0.11 │ │ ├─┬ chalk@2.1.0 │ │ │ └── ansi-styles@3.2.0 │ │ ├── source-map@0.5.7 │ │ └─┬ supports-color@4.4.0 │ │ └── has-flag@2.0.0 │ ├─┬ postcss-modules-scope@1.1.0 │ │ └─┬ postcss@6.0.11 │ │ ├─┬ chalk@2.1.0 │ │ │ └── ansi-styles@3.2.0 │ │ ├── source-map@0.5.7 │ │ └─┬ supports-color@4.4.0 │ │ └── has-flag@2.0.0 │ ├─┬ postcss-modules-values@1.3.0 │ │ ├── icss-replace-symbols@1.1.0 │ │ └─┬ postcss@6.0.11 │ │ ├─┬ chalk@2.1.0 │ │ │ └── ansi-styles@3.2.0 │ │ ├── source-map@0.5.7 │ │ └─┬ supports-color@4.4.0 │ │ └── has-flag@2.0.0 │ └── source-list-map@0.1.8 ├── d3@3.5.17 ├── es6-promise@4.1.1 ├── file-loader@0.10.1 ├── font-awesome@4.7.0 ├─┬ fs-extra@2.1.2 │ ├── graceful-fs@4.1.11 │ └── jsonfile@2.4.0 ├─┬ glob@7.1.2 │ ├── fs.realpath@1.0.0 │ ├─┬ inflight@1.0.6 │ │ └── wrappy@1.0.2 │ ├── inherits@2.0.3 │ ├─┬ minimatch@3.0.4 │ │ └─┬ brace-expansion@1.1.8 │ │ ├── balanced-match@1.0.0 │ │ └── concat-map@0.0.1 │ ├── once@1.4.0 │ └── path-is-absolute@1.0.1 ├─┬ handlebars@4.0.10 │ ├── async@1.5.2 │ ├─┬ optimist@0.6.1 │ │ ├── minimist@0.0.10 │ │ └── wordwrap@0.0.3 │ ├─┬ source-map@0.4.4 │ │ └── amdefine@1.0.1 │ └─┬ uglify-js@2.8.29 │ ├── source-map@0.5.7 │ ├── uglify-to-browserify@1.0.2 │ └─┬ yargs@3.10.0 │ ├── camelcase@1.2.1 │ ├─┬ cliui@2.1.0 │ │ ├─┬ center-align@0.1.3 │ │ │ ├─┬ align-text@0.1.4 │ │ │ │ ├── longest@1.0.1 │ │ │ │ └── repeat-string@1.6.1 │ │ │ └── lazy-cache@1.0.4 │ │ ├── right-align@0.1.3 │ │ └── wordwrap@0.0.2 │ └── window-size@0.1.0 ├── json-loader@0.5.7 ├── raw-loader@0.5.1 ├─┬ sort-package-json@1.7.1 │ └── sort-object-keys@1.1.2 ├── style-loader@0.13.2 ├─┬ url-loader@0.5.9 │ └── mime@1.3.6 ├─┬ vega@2.6.5 │ ├─┬ d3-cloud@1.2.4 │ │ └── d3-dispatch@1.0.3 │ ├─┬ d3-geo-projection@0.2.16 │ │ └─┬ brfs@1.4.3 │ │ ├─┬ quote-stream@1.0.2 │ │ │ └── buffer-equal@0.0.1 │ │ ├─┬ resolve@1.4.0 │ │ │ └── path-parse@1.0.5 │ │ ├─┬ static-module@1.5.0 │ │ │ ├─┬ duplexer2@0.0.2 │ │ │ │ └─┬ readable-stream@1.1.14 │ │ │ │ ├── isarray@0.0.1 │ │ │ │ └── string_decoder@0.10.31 │ │ │ ├─┬ escodegen@1.3.3 │ │ │ │ ├── esprima@1.1.1 │ │ │ │ ├── estraverse@1.5.1 │ │ │ │ ├── esutils@1.0.0 │ │ │ │ └── source-map@0.1.43 │ │ │ ├─┬ falafel@2.1.0 │ │ │ │ ├── foreach@2.0.5 │ │ │ │ ├── isarray@0.0.1 │ │ │ │ └── object-keys@1.0.11 │ │ │ ├── object-inspect@0.4.0 │ │ │ ├─┬ quote-stream@0.0.0 │ │ │ │ └── minimist@0.0.8 │ │ │ ├─┬ readable-stream@1.0.34 │ │ │ │ ├── isarray@0.0.1 │ │ │ │ └── string_decoder@0.10.31 │ │ │ ├── shallow-copy@0.0.1 │ │ │ ├─┬ static-eval@0.2.4 │ │ │ │ └─┬ escodegen@0.0.28 │ │ │ │ ├── esprima@1.0.4 │ │ │ │ └── estraverse@1.3.2 │ │ │ └─┬ through2@0.4.2 │ │ │ └─┬ xtend@2.1.2 │ │ │ └── object-keys@0.4.0 │ │ └── through2@2.0.3 │ ├─┬ datalib@1.8.0 │ │ ├── d3-dsv@0.1.14 │ │ ├── d3-format@0.4.2 │ │ ├── d3-time@0.1.1 │ │ ├── d3-time-format@0.2.1 │ │ ├─┬ request@2.81.0 │ │ │ ├── aws-sign2@0.6.0 │ │ │ ├── aws4@1.6.0 │ │ │ ├── caseless@0.12.0 │ │ │ ├─┬ combined-stream@1.0.5 │ │ │ │ └── delayed-stream@1.0.0 │ │ │ ├── extend@3.0.1 │ │ │ ├── forever-agent@0.6.1 │ │ │ ├─┬ form-data@2.1.4 │ │ │ │ └── asynckit@0.4.0 │ │ │ ├─┬ har-validator@4.2.1 │ │ │ │ ├── ajv@4.11.8 │ │ │ │ └── har-schema@1.0.5 │ │ │ ├─┬ hawk@3.1.3 │ │ │ │ ├── boom@2.10.1 │ │ │ │ ├── cryptiles@2.0.5 │ │ │ │ ├── hoek@2.16.3 │ │ │ │ └── sntp@1.0.9 │ │ │ ├─┬ http-signature@1.1.1 │ │ │ │ ├── assert-plus@0.2.0 │ │ │ │ ├─┬ jsprim@1.4.1 │ │ │ │ │ ├── assert-plus@1.0.0 │ │ │ │ │ ├── extsprintf@1.3.0 │ │ │ │ │ ├── json-schema@0.2.3 │ │ │ │ │ └─┬ verror@1.10.0 │ │ │ │ │ └── assert-plus@1.0.0 │ │ │ │ └─┬ sshpk@1.13.1 │ │ │ │ ├── asn1@0.2.3 │ │ │ │ ├── assert-plus@1.0.0 │ │ │ │ ├── bcrypt-pbkdf@1.0.1 │ │ │ │ ├─┬ dashdash@1.14.1 │ │ │ │ │ └── assert-plus@1.0.0 │ │ │ │ ├── ecc-jsbn@0.1.1 │ │ │ │ ├─┬ getpass@0.1.7 │ │ │ │ │ └── assert-plus@1.0.0 │ │ │ │ ├── jsbn@0.1.1 │ │ │ │ └── tweetnacl@0.14.5 │ │ │ ├── is-typedarray@1.0.0 │ │ │ ├── isstream@0.1.2 │ │ │ ├── json-stringify-safe@5.0.1 │ │ │ ├─┬ mime-types@2.1.17 │ │ │ │ └── mime-db@1.30.0 │ │ │ ├── oauth-sign@0.8.2 │ │ │ ├── performance-now@0.2.0 │ │ │ ├── qs@6.4.0 │ │ │ ├── safe-buffer@5.1.1 │ │ │ ├── stringstream@0.0.5 │ │ │ ├── tough-cookie@2.3.2 │ │ │ ├── tunnel-agent@0.6.0 │ │ │ └── uuid@3.1.0 │ │ └─┬ sync-request@2.2.0 │ │ ├─┬ concat-stream@1.6.0 │ │ │ └── typedarray@0.0.6 │ │ ├── http-response-object@1.1.0 │ │ ├─┬ spawn-sync@1.0.15 │ │ │ └── os-shim@0.1.3 │ │ └─┬ then-request@2.2.0 │ │ ├── caseless@0.11.0 │ │ ├─┬ http-basic@2.5.1 │ │ │ └── caseless@0.11.0 │ │ └─┬ promise@7.3.1 │ │ └── asap@2.0.6 │ ├─┬ topojson@1.6.27 │ │ ├── d3-queue@2.0.3 │ │ ├── optimist@0.3.7 │ │ └─┬ shapefile@0.3.1 │ │ ├── d3-queue@1.2.3 │ │ └── iconv-lite@0.2.11 │ ├── vega-dataflow@1.4.3 │ ├── vega-event-selector@1.1.0 │ ├── vega-expression@1.2.1 │ ├── vega-logging@1.0.2 │ ├── vega-scenegraph@1.1.0 │ └─┬ yargs@3.32.0 │ ├── camelcase@2.1.1 │ ├─┬ cliui@3.2.0 │ │ └── wrap-ansi@2.1.0 │ ├─┬ os-locale@1.4.0 │ │ └─┬ lcid@1.0.0 │ │ └── invert-kv@1.0.0 │ ├─┬ string-width@1.0.2 │ │ ├── code-point-at@1.1.0 │ │ └─┬ is-fullwidth-code-point@1.0.0 │ │ └── number-is-nan@1.0.1 │ ├── window-size@0.1.4 │ └── y18n@3.2.1 ├── vega-embed@2.2.0 ├─┬ vega-lite@1.3.1 │ ├─┬ datalib@1.7.3 │ │ ├── d3-dsv@0.1.14 │ │ └── d3-format@0.4.2 │ ├─┬ json-stable-stringify@1.0.1 │ │ └── jsonify@0.0.0 │ └─┬ yargs@6.3.0 │ ├── camelcase@3.0.0 │ ├── get-caller-file@1.0.2 │ ├─┬ read-pkg-up@1.0.1 │ │ ├─┬ find-up@1.1.2 │ │ │ ├── path-exists@2.1.0 │ │ │ └─┬ pinkie-promise@2.0.1 │ │ │ └── pinkie@2.0.4 │ │ └─┬ read-pkg@1.1.0 │ │ ├─┬ load-json-file@1.1.0 │ │ │ ├─┬ parse-json@2.2.0 │ │ │ │ └─┬ error-ex@1.3.1 │ │ │ │ └── is-arrayish@0.2.1 │ │ │ ├── pify@2.3.0 │ │ │ └─┬ strip-bom@2.0.0 │ │ │ └── is-utf8@0.2.1 │ │ ├─┬ normalize-package-data@2.4.0 │ │ │ ├── hosted-git-info@2.5.0 │ │ │ ├─┬ is-builtin-module@1.0.0 │ │ │ │ └── builtin-modules@1.1.1 │ │ │ └─┬ validate-npm-package-license@3.0.1 │ │ │ ├─┬ spdx-correct@1.0.2 │ │ │ │ └── spdx-license-ids@1.2.2 │ │ │ └── spdx-expression-parse@1.0.4 │ │ └── path-type@1.1.0 │ ├── require-directory@2.1.1 │ ├── require-main-filename@1.0.1 │ ├── set-blocking@2.0.0 │ ├── which-module@1.0.0 │ ├── window-size@0.2.0 │ └─┬ yargs-parser@4.2.1 │ └── camelcase@3.0.0 └─┬ webpack@2.7.0 ├── acorn@5.1.2 ├─┬ acorn-dynamic-import@2.0.2 │ └── acorn@4.0.13 ├── ajv@4.11.8 ├── ajv-keywords@1.5.1 ├── async@2.5.0 ├── enhanced-resolve@3.4.1 ├── interpret@1.0.3 ├── json5@0.5.1 ├── loader-runner@2.3.0 ├── loader-utils@0.2.17 ├─┬ memory-fs@0.4.1 │ ├─┬ errno@0.1.4 │ │ └── prr@0.0.0 │ └─┬ readable-stream@2.3.3 │ ├── core-util-is@1.0.2 │ ├── isarray@1.0.0 │ ├── process-nextick-args@1.0.7 │ ├── string_decoder@1.0.3 │ └── util-deprecate@1.0.2 ├─┬ mkdirp@0.5.1 │ └── minimist@0.0.8 ├─┬ node-libs-browser@2.0.0 │ ├── assert@1.4.1 │ ├─┬ browserify-zlib@0.1.4 │ │ └── pako@0.2.9 │ ├─┬ buffer@4.9.1 │ │ ├── base64-js@1.2.1 │ │ └── ieee754@1.1.8 │ ├─┬ console-browserify@1.1.0 │ │ └── date-now@0.1.4 │ ├── constants-browserify@1.0.0 │ ├─┬ crypto-browserify@3.11.1 │ │ ├─┬ browserify-cipher@1.0.0 │ │ │ ├─┬ browserify-aes@1.0.8 │ │ │ │ └── buffer-xor@1.0.3 │ │ │ ├─┬ browserify-des@1.0.0 │ │ │ │ └── des.js@1.0.0 │ │ │ └─┬ evp_bytestokey@1.0.3 │ │ │ └─┬ md5.js@1.3.4 │ │ │ └── hash-base@3.0.4 │ │ ├─┬ browserify-sign@4.0.4 │ │ │ ├── bn.js@4.11.8 │ │ │ ├── browserify-rsa@4.0.1 │ │ │ ├─┬ elliptic@6.4.0 │ │ │ │ ├── brorand@1.1.0 │ │ │ │ ├── hash.js@1.1.3 │ │ │ │ ├── hmac-drbg@1.0.1 │ │ │ │ ├── minimalistic-assert@1.0.0 │ │ │ │ └── minimalistic-crypto-utils@1.0.1 │ │ │ └─┬ parse-asn1@5.1.0 │ │ │ └── asn1.js@4.9.1 │ │ ├── create-ecdh@4.0.0 │ │ ├─┬ create-hash@1.1.3 │ │ │ ├── cipher-base@1.0.4 │ │ │ ├─┬ ripemd160@2.0.1 │ │ │ │ └── hash-base@2.0.2 │ │ │ └── sha.js@2.4.8 │ │ ├── create-hmac@1.1.6 │ │ ├─┬ diffie-hellman@5.0.2 │ │ │ └── miller-rabin@4.0.0 │ │ ├── pbkdf2@3.0.14 │ │ ├── public-encrypt@4.0.0 │ │ └── randombytes@2.0.5 │ ├── domain-browser@1.1.7 │ ├── events@1.1.1 │ ├── https-browserify@0.0.1 │ ├── os-browserify@0.2.1 │ ├── path-browserify@0.0.0 │ ├── process@0.11.10 │ ├── punycode@1.4.1 │ ├── querystring-es3@0.2.1 │ ├── stream-browserify@2.0.1 │ ├─┬ stream-http@2.7.2 │ │ ├── builtin-status-codes@3.0.0 │ │ └── to-arraybuffer@1.0.1 │ ├── string_decoder@0.10.31 │ ├─┬ timers-browserify@2.0.4 │ │ └── setimmediate@1.0.5 │ ├── tty-browserify@0.0.0 │ ├─┬ url@0.11.0 │ │ ├── punycode@1.3.2 │ │ └── querystring@0.2.0 │ ├─┬ util@0.10.3 │ │ └── inherits@2.0.1 │ └─┬ vm-browserify@0.0.4 │ └── indexof@0.0.1 ├── source-map@0.5.7 ├─┬ supports-color@3.2.3 │ └── has-flag@1.0.0 ├── tapable@0.2.8 ├─┬ watchpack@1.4.0 │ ├── async@2.5.0 │ └─┬ chokidar@1.7.0 │ ├─┬ anymatch@1.3.2 │ │ ├─┬ micromatch@2.3.11 │ │ │ ├─┬ arr-diff@2.0.0 │ │ │ │ └── arr-flatten@1.1.0 │ │ │ ├── array-unique@0.2.1 │ │ │ ├─┬ braces@1.8.5 │ │ │ │ ├─┬ expand-range@1.8.2 │ │ │ │ │ └─┬ fill-range@2.2.3 │ │ │ │ │ ├── is-number@2.1.0 │ │ │ │ │ ├── isobject@2.1.0 │ │ │ │ │ └─┬ randomatic@1.1.7 │ │ │ │ │ ├─┬ is-number@3.0.0 │ │ │ │ │ │ └── kind-of@3.2.2 │ │ │ │ │ └── kind-of@4.0.0 │ │ │ │ ├── preserve@0.2.0 │ │ │ │ └── repeat-element@1.1.2 │ │ │ ├─┬ expand-brackets@0.1.5 │ │ │ │ └── is-posix-bracket@0.1.1 │ │ │ ├── extglob@0.3.2 │ │ │ ├── filename-regex@2.0.1 │ │ │ ├─┬ kind-of@3.2.2 │ │ │ │ └── is-buffer@1.1.5 │ │ │ ├─┬ object.omit@2.0.1 │ │ │ │ ├─┬ for-own@0.1.5 │ │ │ │ │ └── for-in@1.0.2 │ │ │ │ └── is-extendable@0.1.1 │ │ │ ├─┬ parse-glob@3.0.4 │ │ │ │ ├── glob-base@0.3.0 │ │ │ │ └── is-dotfile@1.0.3 │ │ │ └─┬ regex-cache@0.4.4 │ │ │ └─┬ is-equal-shallow@0.1.3 │ │ │ └── is-primitive@2.0.0 │ │ └─┬ normalize-path@2.1.1 │ │ └── remove-trailing-separator@1.1.0 │ ├── async-each@1.0.1 │ ├── glob-parent@2.0.0 │ ├─┬ is-binary-path@1.0.1 │ │ └── binary-extensions@1.10.0 │ ├─┬ is-glob@2.0.1 │ │ └── is-extglob@1.0.0 │ └─┬ readdirp@2.1.0 │ └── set-immediate-shim@1.0.1 ├─┬ webpack-sources@1.0.1 │ ├── source-list-map@2.0.0 │ └── source-map@0.5.7 └─┬ yargs@6.6.0 └── camelcase@3.0.0 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: canvas@1.6.7 (node_modules/canvas): npm WARN optional SKIPPING OPTIONAL DEPENDENCY: canvas@1.6.7 install: `node-gyp rebuild` npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1 > npm run build > @jupyterlab/application-top@0.10.2 build /opt/conda/share/jupyter/lab/staging > webpack Hash: 88f763e037a743abd8d7 Version: webpack 2.7.0 Time: 9027ms Asset Size Chunks Chunk Names 674f50d287a8c48dc19ba404d20fe713.eot 166 kB [emitted] af7ae505a9eed503f8b8e6982036873e.woff2 77.2 kB [emitted] fee66e712a8a08eef5805a46892932ad.woff 98 kB [emitted] b06871f281fee6b241d60582ae9369b9.ttf 166 kB [emitted] 912ec66d7572ff821749319396470bde.svg 444 kB [emitted] [big] 0.bundle.js 893 kB 0 [emitted] [big] main.bundle.js 8.29 MB 1 [emitted] [big] main 0.bundle.js.map 1.08 MB 0 [emitted] main.bundle.js.map 9.96 MB 1 [emitted] main [6] ./~/@jupyterlab/coreutils/lib/index.js 870 bytes {1} [built] [27] ./~/@jupyterlab/application/lib/index.js 5.48 kB {1} [built] [453] ./~/@jupyterlab/application-extension/lib/index.js 6.12 kB {1} [optional] [built] [454] ./~/@jupyterlab/apputils-extension/lib/index.js 7.91 kB {1} [optional] [built] [455] ./~/@jupyterlab/codemirror-extension/lib/index.js 10.5 kB {1} [optional] [built] [456] ./~/@jupyterlab/completer-extension/lib/index.js 7.09 kB {1} [optional] [built] [457] ./~/@jupyterlab/console-extension/lib/index.js 12.5 kB {1} [optional] [built] [458] ./~/@jupyterlab/csvviewer-extension/lib/index.js 1.79 kB {1} [optional] [built] [459] ./~/@jupyterlab/docmanager-extension/lib/index.js 10.1 kB {1} [optional] [built] [460] ./~/@jupyterlab/faq-extension/lib/index.js 3.78 kB {1} [optional] [built] [461] ./~/@jupyterlab/filebrowser-extension/lib/index.js 11.9 kB {1} [optional] [built] [462] ./~/@jupyterlab/fileeditor-extension/lib/index.js 11.8 kB {1} [optional] [built] [463] ./~/@jupyterlab/help-extension/lib/index.js 8.84 kB {1} [optional] [built] [464] ./~/@jupyterlab/imageviewer-extension/lib/index.js 4.25 kB {1} [optional] [built] [494] ./build/index.out.js 8.38 kB {1} [built] + 1180 hidden modules ```
jasongrout commented 7 years ago

According to your error message (do you see where that is?), it is having problems finding files related to the cairo system package. Can you install cairo (again, a system package)?

Package cairo was not found in the pkg-config search path.
Perhaps you should add the directory containing `cairo.pc'
to the PKG_CONFIG_PATH environment variable
No package 'cairo' found
jasongrout commented 7 years ago

As a next step I'll try running JupyterLab master (but I haven't tried creating a dev environment for Jupyterlab).

That's tricky, actually, since once you install a plugin, it reverts back to the published version by default.

tylere commented 7 years ago

The following Dockerfile fixes the cairo related error messages (although a few warnings in the npm output are still present):

FROM jupyter/minimal-notebook

MAINTAINER Tyler Erickson <tylere@google.com>

USER root

# pkg-config for jupyterlab ipywidgets install bug
RUN apt-get update && \
    apt-get install -y --no-install-recommends \
        pkg-config \
        libjpeg-dev \
        libgif-dev \
        libcairo2-dev && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

USER $NB_USER

Attempting to display an ipywidget still produces the same output of "A Jupyter Widget" and console error:

Uncaught (in promise) Error: Object 'jupyter.widget' not found in registry
    at default.js:1469
    at Promise (<anonymous>)
    at Object.loadObject (default.js:1448)
    at DefaultKernel._handleCommOpen (default.js:897)
    at DefaultKernel._onWSMessage (default.js:729)
    at WebSocket._ws.onmessage (default.js:653)
Full installation details: ``` jovyan@e6ff49dab1ad:~$ which pkg-config /usr/bin/pkg-config ``` ``` jovyan@e6ff49dab1ad:~$ pip install ipywidgets Collecting ipywidgets Downloading ipywidgets-7.0.0-py2.py3-none-any.whl (64kB) 100% |████████████████████████████████| 71kB 1.1MB/s Requirement already satisfied: traitlets>=4.3.1 in /opt/conda/lib/python3.6/site-packages (from ipywidgets) Requirement already satisfied: ipython>=4.0.0; python_version >= "3.3" in /opt/conda/lib/python3.6/site-packages (from ipywidgets) Collecting widgetsnbextension~=3.0.0 (from ipywidgets) Downloading widgetsnbextension-3.0.2-py2.py3-none-any.whl (2.5MB) 100% |████████████████████████████████| 2.5MB 278kB/s Requirement already satisfied: nbformat>=4.2.0 in /opt/conda/lib/python3.6/site-packages (from ipywidgets) Requirement already satisfied: ipykernel>=4.5.1 in /opt/conda/lib/python3.6/site-packages (from ipywidgets) Requirement already satisfied: decorator in /opt/conda/lib/python3.6/site-packages (from traitlets>=4.3.1->ipywidgets) Requirement already satisfied: six in /opt/conda/lib/python3.6/site-packages (from traitlets>=4.3.1->ipywidgets) Requirement already satisfied: ipython-genutils in /opt/conda/lib/python3.6/site-packages (from traitlets>=4.3.1->ipywidgets) Requirement already satisfied: prompt-toolkit<2.0.0,>=1.0.4 in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_ version >= "3.3"->ipywidgets) Requirement already satisfied: simplegeneric>0.8 in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: jedi>=0.10 in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= "3.3"-> ipywidgets) Requirement already satisfied: pexpect; sys_platform != "win32" in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; pyt hon_version >= "3.3"->ipywidgets) Requirement already satisfied: setuptools>=18.5 in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= " 3.3"->ipywidgets) Requirement already satisfied: pickleshare in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= "3.3"- >ipywidgets) Requirement already satisfied: pygments in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= "3.3"->ip ywidgets) Requirement already satisfied: notebook>=4.4.1 in /opt/conda/lib/python3.6/site-packages (from widgetsnbextension~=3.0.0->ipywidget s) Requirement already satisfied: jsonschema!=2.5.0,>=2.4 in /opt/conda/lib/python3.6/site-packages (from nbformat>=4.2.0->ipywidgets) Requirement already satisfied: jupyter-core in /opt/conda/lib/python3.6/site-packages (from nbformat>=4.2.0->ipywidgets) Requirement already satisfied: jupyter-client in /opt/conda/lib/python3.6/site-packages (from ipykernel>=4.5.1->ipywidgets) Requirement already satisfied: tornado>=4.0 in /opt/conda/lib/python3.6/site-packages (from ipykernel>=4.5.1->ipywidgets) Requirement already satisfied: wcwidth in /opt/conda/lib/python3.6/site-packages (from prompt-toolkit<2.0.0,>=1.0.4->ipython>=4.0.0 ; python_version >= "3.3"->ipywidgets) Requirement already satisfied: terminado>=0.3.3; sys_platform != "win32" in /opt/conda/lib/python3.6/site-packages (from notebook>= 4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: jinja2 in /opt/conda/lib/python3.6/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.0.0->i pywidgets) Requirement already satisfied: nbconvert in /opt/conda/lib/python3.6/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.0.0 ->ipywidgets) Requirement already satisfied: pyzmq>=13 in /opt/conda/lib/python3.6/site-packages (from jupyter-client->ipykernel>=4.5.1->ipywidge ts) Requirement already satisfied: python-dateutil>=2.1 in /opt/conda/lib/python3.6/site-packages (from jupyter-client->ipykernel>=4.5. 1->ipywidgets) Requirement already satisfied: MarkupSafe>=0.23 in /opt/conda/lib/python3.6/site-packages (from jinja2->notebook>=4.4.1->widgetsnbe xtension~=3.0.0->ipywidgets) Requirement already satisfied: bleach in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextensio n~=3.0.0->ipywidgets) Requirement already satisfied: mistune!=0.6 in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbex tension~=3.0.0->ipywidgets) Requirement already satisfied: entrypoints>=0.2.2 in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widge tsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: pandocfilters>=1.4.1 in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->wid getsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: testpath in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextens ion~=3.0.0->ipywidgets) Requirement already satisfied: html5lib!=0.9999,!=0.99999,<0.99999999,>=0.999 in /opt/conda/lib/python3.6/site-packages (from bleac h->nbconvert->notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Installing collected packages: widgetsnbextension, ipywidgets Successfully installed ipywidgets-7.0.0 widgetsnbextension-3.0.2 ``` ``` jovyan@e6ff49dab1ad:~$ jupyter nbextension enable --py widgetsnbextension --sys-prefix Enabling notebook extension jupyter-js-widgets/extension... - Validating: OK ``` ``` jovyan@e6ff49dab1ad:~$ jupyter labextension install @jupyter-widgets/jupyterlab-manager > npm pack @jupyter-widgets/jupyterlab-manager jupyter-widgets-jupyterlab-manager-0.27.0.tgz > node node-version-check.js > npm install npm WARN prefer global marked@0.3.6 should be installed with -g > canvas@1.6.7 install /opt/conda/share/jupyter/lab/staging/node_modules/canvas > node-gyp rebuild make: Entering directory '/opt/conda/share/jupyter/lab/staging/node_modules/canvas/build' SOLINK_MODULE(target) Release/obj.target/canvas-postbuild.node COPY Release/canvas-postbuild.node CXX(target) Release/obj.target/canvas/src/Canvas.o CXX(target) Release/obj.target/canvas/src/CanvasGradient.o CXX(target) Release/obj.target/canvas/src/CanvasPattern.o CXX(target) Release/obj.target/canvas/src/CanvasRenderingContext2d.o CXX(target) Release/obj.target/canvas/src/color.o CXX(target) Release/obj.target/canvas/src/Image.o CXX(target) Release/obj.target/canvas/src/ImageData.o CXX(target) Release/obj.target/canvas/src/init.o CXX(target) Release/obj.target/canvas/src/FontFace.o SOLINK_MODULE(target) Release/obj.target/canvas.node COPY Release/canvas.node make: Leaving directory '/opt/conda/share/jupyter/lab/staging/node_modules/canvas/build' > spawn-sync@1.0.15 postinstall /opt/conda/share/jupyter/lab/staging/node_modules/spawn-sync > node postinstall @jupyterlab/application-top@0.10.2 /opt/conda/share/jupyter/lab/staging ├─┬ @jupyter-widgets/jupyterlab-manager@0.27.0 │ ├─┬ @jupyter-widgets/base@1.0.1 │ │ ├── @jupyter-widgets/schema@0.3.0 │ │ ├─┬ @types/backbone@1.3.36 │ │ │ ├── @types/jquery@3.2.12 │ │ │ └── @types/underscore@1.8.3 │ │ ├── @types/lodash@4.14.74 │ │ ├── @types/semver@5.4.0 │ │ ├── backbone@1.2.3 │ │ ├── jquery@3.2.1 │ │ ├── lodash@4.17.4 │ │ └── semver@5.4.1 │ ├─┬ @jupyter-widgets/controls@1.0.1 │ │ ├── d3-format@0.5.1 │ │ ├── jquery-ui@1.12.1 │ │ └── underscore@1.8.3 │ └── @jupyter-widgets/output@1.0.1 ├─┬ @jupyterlab/application@0.10.0 │ ├── @phosphor/application@1.5.0 │ └── @phosphor/properties@1.1.2 ├── @jupyterlab/application-extension@0.10.0 ├─┬ @jupyterlab/apputils@0.10.0 │ ├── @phosphor/domutils@1.1.2 │ └─┬ sanitize-html@1.14.1 │ ├─┬ htmlparser2@3.9.2 │ │ ├── domelementtype@1.3.0 │ │ ├── domhandler@2.4.1 │ │ ├─┬ domutils@1.6.2 │ │ │ └─┬ dom-serializer@0.1.0 │ │ │ └── domelementtype@1.1.3 │ │ └── entities@1.1.1 │ ├── regexp-quote@0.0.0 │ └── xtend@4.0.1 ├── @jupyterlab/apputils-extension@0.10.2 ├── @jupyterlab/cells@0.10.0 ├── @jupyterlab/codeeditor@0.10.0 ├─┬ @jupyterlab/codemirror@0.10.0 │ └── codemirror@5.29.0 ├── @jupyterlab/codemirror-extension@0.10.0 ├── @jupyterlab/completer@0.10.0 ├── @jupyterlab/completer-extension@0.10.0 ├── @jupyterlab/console@0.10.0 ├── @jupyterlab/console-extension@0.10.0 ├─┬ @jupyterlab/coreutils@0.10.0 │ ├─┬ ajv@5.2.2 │ │ ├── co@4.6.0 │ │ ├── fast-deep-equal@1.0.0 │ │ └── json-schema-traverse@0.3.1 │ ├── minimist@1.2.0 │ ├── moment@2.18.1 │ ├── path-posix@1.0.0 │ └─┬ url-parse@1.1.9 │ ├── querystringify@1.0.0 │ └── requires-port@1.0.0 ├─┬ @jupyterlab/csvviewer@0.10.0 │ ├── @phosphor/datagrid@0.1.5 │ └─┬ d3-dsv@1.0.7 │ ├── commander@2.11.0 │ ├── iconv-lite@0.4.19 │ └── rw@1.3.3 ├── @jupyterlab/csvviewer-extension@0.10.0 ├── @jupyterlab/docmanager@0.10.0 ├── @jupyterlab/docmanager-extension@0.10.0 ├── @jupyterlab/docregistry@0.10.0 ├── @jupyterlab/faq-extension@0.10.0 ├─┬ @jupyterlab/filebrowser@0.10.0 │ └── @phosphor/dragdrop@1.3.0 ├── @jupyterlab/filebrowser-extension@0.10.0 ├── @jupyterlab/fileeditor@0.10.0 ├── @jupyterlab/fileeditor-extension@0.10.0 ├── @jupyterlab/help-extension@0.10.0 ├── @jupyterlab/imageviewer@0.10.0 ├── @jupyterlab/imageviewer-extension@0.10.0 ├── @jupyterlab/inspector@0.10.0 ├── @jupyterlab/inspector-extension@0.10.0 ├── @jupyterlab/launcher@0.10.0 ├── @jupyterlab/launcher-extension@0.10.0 ├── @jupyterlab/markdownviewer-extension@0.10.0 ├── @jupyterlab/notebook@0.10.0 ├── @jupyterlab/notebook-extension@0.10.0 ├── @jupyterlab/outputarea@0.10.0 ├── @jupyterlab/pdf-extension@0.2.0 ├─┬ @jupyterlab/rendermime@0.10.0 │ ├── ansi_up@1.3.0 │ └── marked@0.3.6 ├── @jupyterlab/rendermime-interfaces@0.3.1 ├── @jupyterlab/running@0.10.0 ├── @jupyterlab/running-extension@0.10.0 ├── @jupyterlab/services@0.49.0 ├── @jupyterlab/settingeditor-extension@0.5.0 ├── @jupyterlab/shortcuts-extension@0.10.0 ├── @jupyterlab/tabmanager-extension@0.10.0 ├─┬ @jupyterlab/terminal@0.10.0 │ └── xterm@2.8.1 ├── @jupyterlab/terminal-extension@0.10.0 ├── @jupyterlab/theme-dark-extension@0.10.0 ├── @jupyterlab/theme-light-extension@0.10.0 ├── @jupyterlab/tooltip@0.10.0 ├── @jupyterlab/tooltip-extension@0.10.0 ├── @jupyterlab/vega2-extension@0.10.0 ├── @phosphor/algorithm@1.1.2 ├─┬ @phosphor/commands@1.4.0 │ └── @phosphor/keyboard@1.1.2 ├── @phosphor/coreutils@1.3.0 ├── @phosphor/disposable@1.1.2 ├─┬ @phosphor/messaging@1.2.2 │ └── @phosphor/collections@1.1.2 ├── @phosphor/signaling@1.2.2 ├── @phosphor/virtualdom@1.1.2 ├── @phosphor/widgets@1.5.0 ├─┬ css-loader@0.27.3 │ ├─┬ babel-code-frame@6.26.0 │ │ ├─┬ chalk@1.1.3 │ │ │ ├── ansi-styles@2.2.1 │ │ │ ├── escape-string-regexp@1.0.5 │ │ │ ├─┬ has-ansi@2.0.0 │ │ │ │ └── ansi-regex@2.1.1 │ │ │ ├── strip-ansi@3.0.1 │ │ │ └── supports-color@2.0.0 │ │ ├── esutils@2.0.2 │ │ └── js-tokens@3.0.2 │ ├─┬ css-selector-tokenizer@0.7.0 │ │ ├── cssesc@0.1.0 │ │ ├── fastparse@1.1.1 │ │ └─┬ regexpu-core@1.0.0 │ │ ├── regenerate@1.3.2 │ │ ├── regjsgen@0.2.0 │ │ └─┬ regjsparser@0.1.5 │ │ └── jsesc@0.5.0 │ ├─┬ cssnano@3.10.0 │ │ ├─┬ autoprefixer@6.7.7 │ │ │ ├─┬ browserslist@1.7.7 │ │ │ │ └── electron-to-chromium@1.3.21 │ │ │ ├── caniuse-db@1.0.30000727 │ │ │ ├── normalize-range@0.1.2 │ │ │ └── num2fraction@1.2.2 │ │ ├── decamelize@1.2.0 │ │ ├── defined@1.0.0 │ │ ├─┬ has@1.0.1 │ │ │ └── function-bind@1.1.1 │ │ ├─┬ postcss-calc@5.3.1 │ │ │ ├── postcss-message-helpers@2.0.0 │ │ │ └─┬ reduce-css-calc@1.3.0 │ │ │ ├── balanced-match@0.4.2 │ │ │ ├── math-expression-evaluator@1.2.17 │ │ │ └── reduce-function-call@1.0.2 │ │ ├─┬ postcss-colormin@2.2.2 │ │ │ └─┬ colormin@1.1.2 │ │ │ ├─┬ color@0.11.4 │ │ │ │ ├── clone@1.0.2 │ │ │ │ ├─┬ color-convert@1.9.0 │ │ │ │ │ └── color-name@1.1.3 │ │ │ │ └── color-string@0.3.0 │ │ │ └── css-color-names@0.0.4 │ │ ├── postcss-convert-values@2.6.1 │ │ ├── postcss-discard-comments@2.0.4 │ │ ├── postcss-discard-duplicates@2.1.0 │ │ ├── postcss-discard-empty@2.1.0 │ │ ├── postcss-discard-overridden@0.1.1 │ │ ├─┬ postcss-discard-unused@2.2.3 │ │ │ └── uniqs@2.0.0 │ │ ├─┬ postcss-filter-plugins@2.0.2 │ │ │ └─┬ uniqid@4.1.1 │ │ │ └── macaddress@0.2.8 │ │ ├── postcss-merge-idents@2.1.7 │ │ ├── postcss-merge-longhand@2.0.2 │ │ ├─┬ postcss-merge-rules@2.1.2 │ │ │ ├─┬ caniuse-api@1.6.1 │ │ │ │ ├── lodash.memoize@4.1.2 │ │ │ │ └── lodash.uniq@4.5.0 │ │ │ ├─┬ postcss-selector-parser@2.2.3 │ │ │ │ ├── flatten@1.0.2 │ │ │ │ ├── indexes-of@1.0.1 │ │ │ │ └── uniq@1.0.1 │ │ │ └── vendors@1.0.1 │ │ ├── postcss-minify-font-values@1.0.5 │ │ ├── postcss-minify-gradients@1.0.5 │ │ ├─┬ postcss-minify-params@1.2.2 │ │ │ └── alphanum-sort@1.0.2 │ │ ├── postcss-minify-selectors@2.1.1 │ │ ├── postcss-normalize-charset@1.1.1 │ │ ├─┬ postcss-normalize-url@3.0.8 │ │ │ ├── is-absolute-url@2.1.0 │ │ │ └─┬ normalize-url@1.9.1 │ │ │ ├── prepend-http@1.0.4 │ │ │ ├─┬ query-string@4.3.4 │ │ │ │ └── strict-uri-encode@1.1.0 │ │ │ └─┬ sort-keys@1.1.2 │ │ │ └── is-plain-obj@1.1.0 │ │ ├── postcss-ordered-values@2.2.3 │ │ ├── postcss-reduce-idents@2.4.0 │ │ ├── postcss-reduce-initial@1.0.1 │ │ ├── postcss-reduce-transforms@1.0.4 │ │ ├─┬ postcss-svgo@2.1.6 │ │ │ ├─┬ is-svg@2.1.0 │ │ │ │ └── html-comment-regex@1.1.1 │ │ │ └─┬ svgo@0.7.2 │ │ │ ├─┬ coa@1.0.4 │ │ │ │ └── q@1.5.0 │ │ │ ├── colors@1.1.2 │ │ │ ├─┬ csso@2.3.2 │ │ │ │ ├── clap@1.2.0 │ │ │ │ └── source-map@0.5.7 │ │ │ ├─┬ js-yaml@3.7.0 │ │ │ │ ├─┬ argparse@1.0.9 │ │ │ │ │ └── sprintf-js@1.0.3 │ │ │ │ └── esprima@2.7.3 │ │ │ ├── sax@1.2.4 │ │ │ └── whet.extend@0.9.9 │ │ ├── postcss-unique-selectors@2.0.2 │ │ ├── postcss-value-parser@3.3.0 │ │ └── postcss-zindex@2.2.0 │ ├─┬ loader-utils@1.1.0 │ │ ├── big.js@3.1.3 │ │ └── emojis-list@2.1.0 │ ├── lodash.camelcase@4.3.0 │ ├── object-assign@4.1.1 │ ├─┬ postcss@5.2.17 │ │ ├── js-base64@2.3.1 │ │ ├── source-map@0.5.7 │ │ └── supports-color@3.2.3 │ ├─┬ postcss-modules-extract-imports@1.1.0 │ │ └─┬ postcss@6.0.11 │ │ ├─┬ chalk@2.1.0 │ │ │ └── ansi-styles@3.2.0 │ │ ├── source-map@0.5.7 │ │ └─┬ supports-color@4.4.0 │ │ └── has-flag@2.0.0 │ ├─┬ postcss-modules-local-by-default@1.2.0 │ │ └─┬ postcss@6.0.11 │ │ ├─┬ chalk@2.1.0 │ │ │ └── ansi-styles@3.2.0 │ │ ├── source-map@0.5.7 │ │ └─┬ supports-color@4.4.0 │ │ └── has-flag@2.0.0 │ ├─┬ postcss-modules-scope@1.1.0 │ │ └─┬ postcss@6.0.11 │ │ ├─┬ chalk@2.1.0 │ │ │ └── ansi-styles@3.2.0 │ │ ├── source-map@0.5.7 │ │ └─┬ supports-color@4.4.0 │ │ └── has-flag@2.0.0 │ ├─┬ postcss-modules-values@1.3.0 │ │ ├── icss-replace-symbols@1.1.0 │ │ └─┬ postcss@6.0.11 │ │ ├─┬ chalk@2.1.0 │ │ │ └── ansi-styles@3.2.0 │ │ ├── source-map@0.5.7 │ │ └─┬ supports-color@4.4.0 │ │ └── has-flag@2.0.0 │ └── source-list-map@0.1.8 ├── d3@3.5.17 ├── es6-promise@4.1.1 ├── file-loader@0.10.1 ├── font-awesome@4.7.0 ├─┬ fs-extra@2.1.2 │ ├── graceful-fs@4.1.11 │ └── jsonfile@2.4.0 ├─┬ glob@7.1.2 │ ├── fs.realpath@1.0.0 │ ├─┬ inflight@1.0.6 │ │ └── wrappy@1.0.2 │ ├── inherits@2.0.3 │ ├─┬ minimatch@3.0.4 │ │ └─┬ brace-expansion@1.1.8 │ │ ├── balanced-match@1.0.0 │ │ └── concat-map@0.0.1 │ ├── once@1.4.0 │ └── path-is-absolute@1.0.1 ├─┬ handlebars@4.0.10 │ ├── async@1.5.2 │ ├─┬ optimist@0.6.1 │ │ ├── minimist@0.0.10 │ │ └── wordwrap@0.0.3 │ ├─┬ source-map@0.4.4 │ │ └── amdefine@1.0.1 │ └─┬ uglify-js@2.8.29 │ ├── source-map@0.5.7 │ ├── uglify-to-browserify@1.0.2 │ └─┬ yargs@3.10.0 │ ├── camelcase@1.2.1 │ ├─┬ cliui@2.1.0 │ │ ├─┬ center-align@0.1.3 │ │ │ ├─┬ align-text@0.1.4 │ │ │ │ ├── longest@1.0.1 │ │ │ │ └── repeat-string@1.6.1 │ │ │ └── lazy-cache@1.0.4 │ │ ├── right-align@0.1.3 │ │ └── wordwrap@0.0.2 │ └── window-size@0.1.0 ├── json-loader@0.5.7 ├── raw-loader@0.5.1 ├─┬ sort-package-json@1.7.1 │ └── sort-object-keys@1.1.2 ├── style-loader@0.13.2 ├─┬ url-loader@0.5.9 │ └── mime@1.3.6 ├─┬ vega@2.6.5 │ ├─┬ canvas@1.6.7 │ │ ├── nan@2.7.0 │ │ ├─┬ parse-css-font@2.0.2 │ │ │ ├── css-font-size-keywords@1.0.0 │ │ │ ├── css-font-stretch-keywords@1.0.1 │ │ │ ├── css-font-style-keywords@1.0.1 │ │ │ ├── css-font-weight-keywords@1.0.0 │ │ │ ├── css-global-keywords@1.0.1 │ │ │ ├── css-list-helpers@1.0.1 │ │ │ ├── css-system-font-keywords@1.0.0 │ │ │ ├── tcomb@2.7.0 │ │ │ └── unquote@1.1.0 │ │ └─┬ units-css@0.4.0 │ │ ├── isnumeric@0.2.0 │ │ └── viewport-dimensions@0.2.0 │ ├─┬ d3-cloud@1.2.4 │ │ └── d3-dispatch@1.0.3 │ ├─┬ d3-geo-projection@0.2.16 │ │ └─┬ brfs@1.4.3 │ │ ├─┬ quote-stream@1.0.2 │ │ │ └── buffer-equal@0.0.1 │ │ ├─┬ resolve@1.4.0 │ │ │ └── path-parse@1.0.5 │ │ ├─┬ static-module@1.5.0 │ │ │ ├─┬ duplexer2@0.0.2 │ │ │ │ └─┬ readable-stream@1.1.14 │ │ │ │ ├── isarray@0.0.1 │ │ │ │ └── string_decoder@0.10.31 │ │ │ ├─┬ escodegen@1.3.3 │ │ │ │ ├── esprima@1.1.1 │ │ │ │ ├── estraverse@1.5.1 │ │ │ │ ├── esutils@1.0.0 │ │ │ │ └── source-map@0.1.43 │ │ │ ├─┬ falafel@2.1.0 │ │ │ │ ├── foreach@2.0.5 │ │ │ │ ├── isarray@0.0.1 │ │ │ │ └── object-keys@1.0.11 │ │ │ ├── object-inspect@0.4.0 │ │ │ ├─┬ quote-stream@0.0.0 │ │ │ │ └── minimist@0.0.8 │ │ │ ├─┬ readable-stream@1.0.34 │ │ │ │ ├── isarray@0.0.1 │ │ │ │ └── string_decoder@0.10.31 │ │ │ ├── shallow-copy@0.0.1 │ │ │ ├─┬ static-eval@0.2.4 │ │ │ │ └─┬ escodegen@0.0.28 │ │ │ │ ├── esprima@1.0.4 │ │ │ │ └── estraverse@1.3.2 │ │ │ └─┬ through2@0.4.2 │ │ │ └─┬ xtend@2.1.2 │ │ │ └── object-keys@0.4.0 │ │ └── through2@2.0.3 │ ├─┬ datalib@1.8.0 │ │ ├── d3-dsv@0.1.14 │ │ ├── d3-format@0.4.2 │ │ ├── d3-time@0.1.1 │ │ ├── d3-time-format@0.2.1 │ │ ├─┬ request@2.81.0 │ │ │ ├── aws-sign2@0.6.0 │ │ │ ├── aws4@1.6.0 │ │ │ ├── caseless@0.12.0 │ │ │ ├─┬ combined-stream@1.0.5 │ │ │ │ └── delayed-stream@1.0.0 │ │ │ ├── extend@3.0.1 │ │ │ ├── forever-agent@0.6.1 │ │ │ ├─┬ form-data@2.1.4 │ │ │ │ └── asynckit@0.4.0 │ │ │ ├─┬ har-validator@4.2.1 │ │ │ │ ├── ajv@4.11.8 │ │ │ │ └── har-schema@1.0.5 │ │ │ ├─┬ hawk@3.1.3 │ │ │ │ ├── boom@2.10.1 │ │ │ │ ├── cryptiles@2.0.5 │ │ │ │ ├── hoek@2.16.3 │ │ │ │ └── sntp@1.0.9 │ │ │ ├─┬ http-signature@1.1.1 │ │ │ │ ├── assert-plus@0.2.0 │ │ │ │ ├─┬ jsprim@1.4.1 │ │ │ │ │ ├── assert-plus@1.0.0 │ │ │ │ │ ├── extsprintf@1.3.0 │ │ │ │ │ ├── json-schema@0.2.3 │ │ │ │ │ └─┬ verror@1.10.0 │ │ │ │ │ └── assert-plus@1.0.0 │ │ │ │ └─┬ sshpk@1.13.1 │ │ │ │ ├── asn1@0.2.3 │ │ │ │ ├── assert-plus@1.0.0 │ │ │ │ ├── bcrypt-pbkdf@1.0.1 │ │ │ │ ├─┬ dashdash@1.14.1 │ │ │ │ │ └── assert-plus@1.0.0 │ │ │ │ ├── ecc-jsbn@0.1.1 │ │ │ │ ├─┬ getpass@0.1.7 │ │ │ │ │ └── assert-plus@1.0.0 │ │ │ │ ├── jsbn@0.1.1 │ │ │ │ └── tweetnacl@0.14.5 │ │ │ ├── is-typedarray@1.0.0 │ │ │ ├── isstream@0.1.2 │ │ │ ├── json-stringify-safe@5.0.1 │ │ │ ├─┬ mime-types@2.1.17 │ │ │ │ └── mime-db@1.30.0 │ │ │ ├── oauth-sign@0.8.2 │ │ │ ├── performance-now@0.2.0 │ │ │ ├── qs@6.4.0 │ │ │ ├── safe-buffer@5.1.1 │ │ │ ├── stringstream@0.0.5 │ │ │ ├── tough-cookie@2.3.2 │ │ │ ├── tunnel-agent@0.6.0 │ │ │ └── uuid@3.1.0 │ │ └─┬ sync-request@2.2.0 │ │ ├─┬ concat-stream@1.6.0 │ │ │ └── typedarray@0.0.6 │ │ ├── http-response-object@1.1.0 │ │ ├─┬ spawn-sync@1.0.15 │ │ │ └── os-shim@0.1.3 │ │ └─┬ then-request@2.2.0 │ │ ├── caseless@0.11.0 │ │ ├─┬ http-basic@2.5.1 │ │ │ └── caseless@0.11.0 │ │ └─┬ promise@7.3.1 │ │ └── asap@2.0.6 │ ├─┬ topojson@1.6.27 │ │ ├── d3-queue@2.0.3 │ │ ├── optimist@0.3.7 │ │ └─┬ shapefile@0.3.1 │ │ ├── d3-queue@1.2.3 │ │ └── iconv-lite@0.2.11 │ ├── vega-dataflow@1.4.3 │ ├── vega-event-selector@1.1.0 │ ├── vega-expression@1.2.1 │ ├── vega-logging@1.0.2 │ ├── vega-scenegraph@1.1.0 │ └─┬ yargs@3.32.0 │ ├── camelcase@2.1.1 │ ├─┬ cliui@3.2.0 │ │ └── wrap-ansi@2.1.0 │ ├─┬ os-locale@1.4.0 │ │ └─┬ lcid@1.0.0 │ │ └── invert-kv@1.0.0 │ ├─┬ string-width@1.0.2 │ │ ├── code-point-at@1.1.0 │ │ └─┬ is-fullwidth-code-point@1.0.0 │ │ └── number-is-nan@1.0.1 │ ├── window-size@0.1.4 │ └── y18n@3.2.1 ├── vega-embed@2.2.0 ├─┬ vega-lite@1.3.1 │ ├─┬ datalib@1.7.3 │ │ ├── d3-dsv@0.1.14 │ │ └── d3-format@0.4.2 │ ├─┬ json-stable-stringify@1.0.1 │ │ └── jsonify@0.0.0 │ └─┬ yargs@6.3.0 │ ├── camelcase@3.0.0 │ ├── get-caller-file@1.0.2 │ ├─┬ read-pkg-up@1.0.1 │ │ ├─┬ find-up@1.1.2 │ │ │ ├── path-exists@2.1.0 │ │ │ └─┬ pinkie-promise@2.0.1 │ │ │ └── pinkie@2.0.4 │ │ └─┬ read-pkg@1.1.0 │ │ ├─┬ load-json-file@1.1.0 │ │ │ ├─┬ parse-json@2.2.0 │ │ │ │ └─┬ error-ex@1.3.1 │ │ │ │ └── is-arrayish@0.2.1 │ │ │ ├── pify@2.3.0 │ │ │ └─┬ strip-bom@2.0.0 │ │ │ └── is-utf8@0.2.1 │ │ ├─┬ normalize-package-data@2.4.0 │ │ │ ├── hosted-git-info@2.5.0 │ │ │ ├─┬ is-builtin-module@1.0.0 │ │ │ │ └── builtin-modules@1.1.1 │ │ │ └─┬ validate-npm-package-license@3.0.1 │ │ │ ├─┬ spdx-correct@1.0.2 │ │ │ │ └── spdx-license-ids@1.2.2 │ │ │ └── spdx-expression-parse@1.0.4 │ │ └── path-type@1.1.0 │ ├── require-directory@2.1.1 │ ├── require-main-filename@1.0.1 │ ├── set-blocking@2.0.0 │ ├── which-module@1.0.0 │ ├── window-size@0.2.0 │ └─┬ yargs-parser@4.2.1 │ └── camelcase@3.0.0 └─┬ webpack@2.7.0 ├── acorn@5.1.2 ├─┬ acorn-dynamic-import@2.0.2 │ └── acorn@4.0.13 ├── ajv@4.11.8 ├── ajv-keywords@1.5.1 ├── async@2.5.0 ├── enhanced-resolve@3.4.1 ├── interpret@1.0.3 ├── json5@0.5.1 ├── loader-runner@2.3.0 ├── loader-utils@0.2.17 ├─┬ memory-fs@0.4.1 │ ├─┬ errno@0.1.4 │ │ └── prr@0.0.0 │ └─┬ readable-stream@2.3.3 │ ├── core-util-is@1.0.2 │ ├── isarray@1.0.0 │ ├── process-nextick-args@1.0.7 │ ├── string_decoder@1.0.3 │ └── util-deprecate@1.0.2 ├─┬ mkdirp@0.5.1 │ └── minimist@0.0.8 ├─┬ node-libs-browser@2.0.0 │ ├── assert@1.4.1 │ ├─┬ browserify-zlib@0.1.4 │ │ └── pako@0.2.9 │ ├─┬ buffer@4.9.1 │ │ ├── base64-js@1.2.1 │ │ └── ieee754@1.1.8 │ ├─┬ console-browserify@1.1.0 │ │ └── date-now@0.1.4 │ ├── constants-browserify@1.0.0 │ ├─┬ crypto-browserify@3.11.1 │ │ ├─┬ browserify-cipher@1.0.0 │ │ │ ├─┬ browserify-aes@1.0.8 │ │ │ │ └── buffer-xor@1.0.3 │ │ │ ├─┬ browserify-des@1.0.0 │ │ │ │ └── des.js@1.0.0 │ │ │ └─┬ evp_bytestokey@1.0.3 │ │ │ └─┬ md5.js@1.3.4 │ │ │ └── hash-base@3.0.4 │ │ ├─┬ browserify-sign@4.0.4 │ │ │ ├── bn.js@4.11.8 │ │ │ ├── browserify-rsa@4.0.1 │ │ │ ├─┬ elliptic@6.4.0 │ │ │ │ ├── brorand@1.1.0 │ │ │ │ ├── hash.js@1.1.3 │ │ │ │ ├── hmac-drbg@1.0.1 │ │ │ │ ├── minimalistic-assert@1.0.0 │ │ │ │ └── minimalistic-crypto-utils@1.0.1 │ │ │ └─┬ parse-asn1@5.1.0 │ │ │ └── asn1.js@4.9.1 │ │ ├── create-ecdh@4.0.0 │ │ ├─┬ create-hash@1.1.3 │ │ │ ├── cipher-base@1.0.4 │ │ │ ├─┬ ripemd160@2.0.1 │ │ │ │ └── hash-base@2.0.2 │ │ │ └── sha.js@2.4.8 │ │ ├── create-hmac@1.1.6 │ │ ├─┬ diffie-hellman@5.0.2 │ │ │ └── miller-rabin@4.0.0 │ │ ├── pbkdf2@3.0.14 │ │ ├── public-encrypt@4.0.0 │ │ └── randombytes@2.0.5 │ ├── domain-browser@1.1.7 │ ├── events@1.1.1 │ ├── https-browserify@0.0.1 │ ├── os-browserify@0.2.1 │ ├── path-browserify@0.0.0 │ ├── process@0.11.10 │ ├── punycode@1.4.1 │ ├── querystring-es3@0.2.1 │ ├── stream-browserify@2.0.1 │ ├─┬ stream-http@2.7.2 │ │ ├── builtin-status-codes@3.0.0 │ │ └── to-arraybuffer@1.0.1 │ ├── string_decoder@0.10.31 │ ├─┬ timers-browserify@2.0.4 │ │ └── setimmediate@1.0.5 │ ├── tty-browserify@0.0.0 │ ├─┬ url@0.11.0 │ │ ├── punycode@1.3.2 │ │ └── querystring@0.2.0 │ ├─┬ util@0.10.3 │ │ └── inherits@2.0.1 │ └─┬ vm-browserify@0.0.4 │ └── indexof@0.0.1 ├── source-map@0.5.7 ├─┬ supports-color@3.2.3 │ └── has-flag@1.0.0 ├── tapable@0.2.8 ├─┬ watchpack@1.4.0 │ ├── async@2.5.0 │ └─┬ chokidar@1.7.0 │ ├─┬ anymatch@1.3.2 │ │ ├─┬ micromatch@2.3.11 │ │ │ ├─┬ arr-diff@2.0.0 │ │ │ │ └── arr-flatten@1.1.0 │ │ │ ├── array-unique@0.2.1 │ │ │ ├─┬ braces@1.8.5 │ │ │ │ ├─┬ expand-range@1.8.2 │ │ │ │ │ └─┬ fill-range@2.2.3 │ │ │ │ │ ├── is-number@2.1.0 │ │ │ │ │ ├── isobject@2.1.0 │ │ │ │ │ └─┬ randomatic@1.1.7 │ │ │ │ │ ├─┬ is-number@3.0.0 │ │ │ │ │ │ └── kind-of@3.2.2 │ │ │ │ │ └── kind-of@4.0.0 │ │ │ │ ├── preserve@0.2.0 │ │ │ │ └── repeat-element@1.1.2 │ │ │ ├─┬ expand-brackets@0.1.5 │ │ │ │ └── is-posix-bracket@0.1.1 │ │ │ ├── extglob@0.3.2 │ │ │ ├── filename-regex@2.0.1 │ │ │ ├─┬ kind-of@3.2.2 │ │ │ │ └── is-buffer@1.1.5 │ │ │ ├─┬ object.omit@2.0.1 │ │ │ │ ├─┬ for-own@0.1.5 │ │ │ │ │ └── for-in@1.0.2 │ │ │ │ └── is-extendable@0.1.1 │ │ │ ├─┬ parse-glob@3.0.4 │ │ │ │ ├── glob-base@0.3.0 │ │ │ │ └── is-dotfile@1.0.3 │ │ │ └─┬ regex-cache@0.4.4 │ │ │ └─┬ is-equal-shallow@0.1.3 │ │ │ └── is-primitive@2.0.0 │ │ └─┬ normalize-path@2.1.1 │ │ └── remove-trailing-separator@1.1.0 │ ├── async-each@1.0.1 │ ├── glob-parent@2.0.0 │ ├─┬ is-binary-path@1.0.1 │ │ └── binary-extensions@1.10.0 │ ├─┬ is-glob@2.0.1 │ │ └── is-extglob@1.0.0 │ └─┬ readdirp@2.1.0 │ └── set-immediate-shim@1.0.1 ├─┬ webpack-sources@1.0.1 │ ├── source-list-map@2.0.0 │ └── source-map@0.5.7 └─┬ yargs@6.6.0 └── camelcase@3.0.0 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) > npm run build > @jupyterlab/application-top@0.10.2 build /opt/conda/share/jupyter/lab/staging > webpack Hash: 88f763e037a743abd8d7 Version: webpack 2.7.0 Time: 10883ms Asset Size Chunks Chunk Names 674f50d287a8c48dc19ba404d20fe713.eot 166 kB [emitted] af7ae505a9eed503f8b8e6982036873e.woff2 77.2 kB [emitted] fee66e712a8a08eef5805a46892932ad.woff 98 kB [emitted] b06871f281fee6b241d60582ae9369b9.ttf 166 kB [emitted] 912ec66d7572ff821749319396470bde.svg 444 kB [emitted] [big] 0.bundle.js 893 kB 0 [emitted] [big] main.bundle.js 8.29 MB 1 [emitted] [big] main 0.bundle.js.map 1.08 MB 0 [emitted] main.bundle.js.map 9.96 MB 1 [emitted] main [6] ./~/@jupyterlab/coreutils/lib/index.js 870 bytes {1} [built] [27] ./~/@jupyterlab/application/lib/index.js 5.48 kB {1} [built] [453] ./~/@jupyterlab/application-extension/lib/index.js 6.12 kB {1} [optional] [built] [454] ./~/@jupyterlab/apputils-extension/lib/index.js 7.91 kB {1} [optional] [built] [455] ./~/@jupyterlab/codemirror-extension/lib/index.js 10.5 kB {1} [optional] [built] [456] ./~/@jupyterlab/completer-extension/lib/index.js 7.09 kB {1} [optional] [built] [457] ./~/@jupyterlab/console-extension/lib/index.js 12.5 kB {1} [optional] [built] [458] ./~/@jupyterlab/csvviewer-extension/lib/index.js 1.79 kB {1} [optional] [built] [459] ./~/@jupyterlab/docmanager-extension/lib/index.js 10.1 kB {1} [optional] [built] [460] ./~/@jupyterlab/faq-extension/lib/index.js 3.78 kB {1} [optional] [built] [461] ./~/@jupyterlab/filebrowser-extension/lib/index.js 11.9 kB {1} [optional] [built] [462] ./~/@jupyterlab/fileeditor-extension/lib/index.js 11.8 kB {1} [optional] [built] [463] ./~/@jupyterlab/help-extension/lib/index.js 8.84 kB {1} [optional] [built] [464] ./~/@jupyterlab/imageviewer-extension/lib/index.js 4.25 kB {1} [optional] [built] [494] ./build/index.out.js 8.38 kB {1} [built] + 1180 hidden modules jovyan@e6ff49dab1ad:~$ ```
blink1073 commented 7 years ago

@tylere, can you paste the contents of /opt/conda/share/jupyter/lab/static/package.json and /opt/conda/share/jupyter/lab/static/index.out.js?

tylere commented 7 years ago
jovyan@e6ff49dab1ad:~$ cat /opt/conda/share/jupyter/lab/static/package.json ``` { "name": "@jupyterlab/application-top", "version": "0.10.2", "scripts": { "build": "webpack", "publish": "node make-release.js" }, "dependencies": { "@jupyterlab/application": "^0.10.0", "@jupyterlab/application-extension": "^0.10.0", "@jupyterlab/apputils": "^0.10.0", "@jupyterlab/apputils-extension": "^0.10.2", "@jupyterlab/cells": "^0.10.0", "@jupyterlab/codeeditor": "^0.10.0", "@jupyterlab/codemirror": "^0.10.0", "@jupyterlab/codemirror-extension": "^0.10.0", "@jupyterlab/completer": "^0.10.0", "@jupyterlab/completer-extension": "^0.10.0", "@jupyterlab/console": "^0.10.0", "@jupyterlab/console-extension": "^0.10.0", "@jupyterlab/coreutils": "^0.10.0", "@jupyterlab/csvviewer": "^0.10.0", "@jupyterlab/csvviewer-extension": "^0.10.0", "@jupyterlab/docmanager": "^0.10.0", "@jupyterlab/docmanager-extension": "^0.10.0", "@jupyterlab/docregistry": "^0.10.0", "@jupyterlab/faq-extension": "^0.10.0", "@jupyterlab/filebrowser": "^0.10.0", "@jupyterlab/filebrowser-extension": "^0.10.0", "@jupyterlab/fileeditor": "^0.10.0", "@jupyterlab/fileeditor-extension": "^0.10.0", "@jupyterlab/help-extension": "^0.10.0", "@jupyterlab/imageviewer": "^0.10.0", "@jupyterlab/imageviewer-extension": "^0.10.0", "@jupyterlab/inspector": "^0.10.0", "@jupyterlab/inspector-extension": "^0.10.0", "@jupyterlab/launcher": "^0.10.0", "@jupyterlab/launcher-extension": "^0.10.0", "@jupyterlab/markdownviewer-extension": "^0.10.0", "@jupyterlab/notebook": "^0.10.0", "@jupyterlab/notebook-extension": "^0.10.0", "@jupyterlab/outputarea": "^0.10.0", "@jupyterlab/pdf-extension": "^0.2.0", "@jupyterlab/rendermime": "^0.10.0", "@jupyterlab/rendermime-interfaces": "^0.3.1", "@jupyterlab/running": "^0.10.0", "@jupyterlab/running-extension": "^0.10.0", "@jupyterlab/services": "^0.49.0", "@jupyterlab/settingeditor-extension": "^0.5.0", "@jupyterlab/shortcuts-extension": "^0.10.0", "@jupyterlab/tabmanager-extension": "^0.10.0", "@jupyterlab/terminal": "^0.10.0", "@jupyterlab/terminal-extension": "^0.10.0", "@jupyterlab/theme-dark-extension": "^0.10.0", "@jupyterlab/theme-light-extension": "^0.10.0", "@jupyterlab/tooltip": "^0.10.0", "@jupyterlab/tooltip-extension": "^0.10.0", "@jupyterlab/vega2-extension": "^0.10.0", "@phosphor/algorithm": "^1.1.1", "@phosphor/commands": "^1.3.0", "@phosphor/coreutils": "^1.2.0", "@phosphor/disposable": "^1.1.1", "@phosphor/messaging": "^1.2.1", "@phosphor/signaling": "^1.2.1", "@phosphor/virtualdom": "^1.1.1", "@phosphor/widgets": "^1.3.0", "d3": "^3.5.17", "es6-promise": "^4.1.0", "font-awesome": "^4.7.0", "vega": "^2.6.1", "vega-embed": "^2.2.0", "vega-lite": "^1.0.16", "@jupyter-widgets/jupyterlab-manager": "/opt/conda/share/jupyter/lab/extensions/jupyter-widgets-jupyterlab-manager-0.27.0.tgz" }, "devDependencies": { "css-loader": "^0.27.3", "file-loader": "^0.10.1", "fs-extra": "^2.1.2", "glob": "^7.1.2", "handlebars": "^4.0.6", "json-loader": "^0.5.4", "raw-loader": "^0.5.1", "sort-package-json": "^1.7.0", "style-loader": "^0.13.1", "url-loader": "^0.5.7", "webpack": "^2.2.1" }, "private": true, "jupyterlab": { "extensions": { "@jupyterlab/application-extension": "", "@jupyterlab/apputils-extension": "", "@jupyterlab/codemirror-extension": "", "@jupyterlab/completer-extension": "", "@jupyterlab/console-extension": "", "@jupyterlab/csvviewer-extension": "", "@jupyterlab/docmanager-extension": "", "@jupyterlab/faq-extension": "", "@jupyterlab/filebrowser-extension": "", "@jupyterlab/fileeditor-extension": "", "@jupyterlab/help-extension": "", "@jupyterlab/imageviewer-extension": "", "@jupyterlab/inspector-extension": "", "@jupyterlab/launcher-extension": "", "@jupyterlab/markdownviewer-extension": "", "@jupyterlab/notebook-extension": "", "@jupyterlab/running-extension": "", "@jupyterlab/settingeditor-extension": "", "@jupyterlab/shortcuts-extension": "", "@jupyterlab/tabmanager-extension": "", "@jupyterlab/terminal-extension": "", "@jupyterlab/theme-dark-extension": "", "@jupyterlab/theme-light-extension": "", "@jupyterlab/tooltip-extension": "", "@jupyter-widgets/jupyterlab-manager": "" }, "mimeExtensions": { "@jupyterlab/pdf-extension": "", "@jupyterlab/vega2-extension": "" }, "name": "JupyterLab", "singletonPackages": [ "@jupyterlab/application", "@jupyterlab/apputils", "@jupyterlab/console", "@jupyterlab/coreutils", "@jupyterlab/docmanager", "@jupyterlab/filebrowser", "@jupyterlab/fileeditor", "@jupyterlab/imageviewer", "@jupyterlab/launcher", "@jupyterlab/notebook", "@jupyterlab/rendermime", "@jupyterlab/services", "@jupyterlab/terminal", "@jupyterlab/tooltip", "@phosphor/widgets" ], "version": "0.27.0" } } ```
jovyan@e6ff49dab1ad:~$ cat /opt/conda/share/jupyter/lab/static/index.out.js ``` require('es6-promise/auto'); // polyfill Promise on IE var PageConfig = require('@jupyterlab/coreutils').PageConfig; __webpack_public_path__ = PageConfig.getOption('publicUrl'); // This needs to come after __webpack_public_path__ is set. require('font-awesome/css/font-awesome.min.css'); var app = require('@jupyterlab/application').JupyterLab; function main() { var version = PageConfig.getOption('appVersion') || 'unknown'; var name = PageConfig.getOption('appName') || 'JupyterLab'; var namespace = PageConfig.getOption('appNamespace') || 'jupyterlab'; var devMode = PageConfig.getOption('devMode') || 'false'; var settingsDir = PageConfig.getOption('settingsDir') || ''; var assetsDir = PageConfig.getOption('assetsDir') || ''; if (version[0] === 'v') { version = version.slice(1); } // Get the disabled extensions. var disabled = []; try { var option = PageConfig.getOption('disabledExtensions'); disabled = JSON.parse(option); } catch (e) { // No-op } // Handle the registered mime extensions. var mimeExtensions = []; try { if (disabled.indexOf('@jupyterlab/pdf-extension') === -1) { mimeExtensions.push(require('@jupyterlab/pdf-extension/')); } } catch (e) { console.error(e); } try { if (disabled.indexOf('@jupyterlab/vega2-extension') === -1) { mimeExtensions.push(require('@jupyterlab/vega2-extension/')); } } catch (e) { console.error(e); } lab = new app({ namespace: namespace, name: name, version: version, devMode: devMode.toLowerCase() === 'true', settingsDir: settingsDir, assetsDir: assetsDir, mimeExtensions: mimeExtensions }); // Handled the registered standard extensions. try { if (disabled.indexOf('@jupyterlab/application-extension') === -1) { lab.registerPluginModule(require('@jupyterlab/application-extension/')); } } catch (e) { console.error(e); } try { if (disabled.indexOf('@jupyterlab/apputils-extension') === -1) { lab.registerPluginModule(require('@jupyterlab/apputils-extension/')); } } catch (e) { console.error(e); } try { if (disabled.indexOf('@jupyterlab/codemirror-extension') === -1) { lab.registerPluginModule(require('@jupyterlab/codemirror-extension/')); } } catch (e) { console.error(e); } try { if (disabled.indexOf('@jupyterlab/completer-extension') === -1) { lab.registerPluginModule(require('@jupyterlab/completer-extension/')); } } catch (e) { console.error(e); } try { if (disabled.indexOf('@jupyterlab/console-extension') === -1) { lab.registerPluginModule(require('@jupyterlab/console-extension/')); } } catch (e) { console.error(e); } try { if (disabled.indexOf('@jupyterlab/csvviewer-extension') === -1) { lab.registerPluginModule(require('@jupyterlab/csvviewer-extension/')); } } catch (e) { console.error(e); } try { if (disabled.indexOf('@jupyterlab/docmanager-extension') === -1) { lab.registerPluginModule(require('@jupyterlab/docmanager-extension/')); } } catch (e) { console.error(e); } try { if (disabled.indexOf('@jupyterlab/faq-extension') === -1) { lab.registerPluginModule(require('@jupyterlab/faq-extension/')); } } catch (e) { console.error(e); } try { if (disabled.indexOf('@jupyterlab/filebrowser-extension') === -1) { lab.registerPluginModule(require('@jupyterlab/filebrowser-extension/')); } } catch (e) { console.error(e); } try { if (disabled.indexOf('@jupyterlab/fileeditor-extension') === -1) { lab.registerPluginModule(require('@jupyterlab/fileeditor-extension/')); } } catch (e) { console.error(e); } try { if (disabled.indexOf('@jupyterlab/help-extension') === -1) { lab.registerPluginModule(require('@jupyterlab/help-extension/')); } } catch (e) { console.error(e); } try { if (disabled.indexOf('@jupyterlab/imageviewer-extension') === -1) { lab.registerPluginModule(require('@jupyterlab/imageviewer-extension/')); } } catch (e) { console.error(e); } try { if (disabled.indexOf('@jupyterlab/inspector-extension') === -1) { lab.registerPluginModule(require('@jupyterlab/inspector-extension/')); } } catch (e) { console.error(e); } try { if (disabled.indexOf('@jupyterlab/launcher-extension') === -1) { lab.registerPluginModule(require('@jupyterlab/launcher-extension/')); } } catch (e) { console.error(e); } try { if (disabled.indexOf('@jupyterlab/markdownviewer-extension') === -1) { lab.registerPluginModule(require('@jupyterlab/markdownviewer-extension/')); } } catch (e) { console.error(e); } try { if (disabled.indexOf('@jupyterlab/notebook-extension') === -1) { lab.registerPluginModule(require('@jupyterlab/notebook-extension/')); } } catch (e) { console.error(e); } try { if (disabled.indexOf('@jupyterlab/running-extension') === -1) { lab.registerPluginModule(require('@jupyterlab/running-extension/')); } } catch (e) { console.error(e); } try { if (disabled.indexOf('@jupyterlab/settingeditor-extension') === -1) { lab.registerPluginModule(require('@jupyterlab/settingeditor-extension/')); } } catch (e) { console.error(e); } try { if (disabled.indexOf('@jupyterlab/shortcuts-extension') === -1) { lab.registerPluginModule(require('@jupyterlab/shortcuts-extension/')); } } catch (e) { console.error(e); } try { if (disabled.indexOf('@jupyterlab/tabmanager-extension') === -1) { lab.registerPluginModule(require('@jupyterlab/tabmanager-extension/')); } } catch (e) { console.error(e); } try { if (disabled.indexOf('@jupyterlab/terminal-extension') === -1) { lab.registerPluginModule(require('@jupyterlab/terminal-extension/')); } } catch (e) { console.error(e); } try { if (disabled.indexOf('@jupyterlab/theme-dark-extension') === -1) { lab.registerPluginModule(require('@jupyterlab/theme-dark-extension/')); } } catch (e) { console.error(e); } try { if (disabled.indexOf('@jupyterlab/theme-light-extension') === -1) { lab.registerPluginModule(require('@jupyterlab/theme-light-extension/')); } } catch (e) { console.error(e); } try { if (disabled.indexOf('@jupyterlab/tooltip-extension') === -1) { lab.registerPluginModule(require('@jupyterlab/tooltip-extension/')); } } catch (e) { console.error(e); } try { if (disabled.indexOf('@jupyter-widgets/jupyterlab-manager') === -1) { lab.registerPluginModule(require('@jupyter-widgets/jupyterlab-manager/')); } } catch (e) { console.error(e); } // Handle the ignored plugins. var ignorePlugins = []; try { var option = PageConfig.getOption('ignorePlugins'); ignorePlugins = JSON.parse(option); } catch (e) { // No-op } lab.start({ "ignorePlugins": ignorePlugins }); // Handle a selenium test. var seleniumTest = PageConfig.getOption('seleniumTest'); if (seleniumTest.toLowerCase() === 'true') { var caught_errors = [] window.onerror = function(msg, url, line, col, error) { caught_errors.push(String(error)); }; lab.restored.then(function() { var el = document.createElement('div'); el.id = 'seleniumResult'; el.textContent = JSON.stringify(caught_errors); document.body.appendChild(el); }); } } window.onload = main; ```
blink1073 commented 7 years ago

Huh, those both look right. I love your use of the details markdown feature, btw. It seems like jupyter lab isn't picking up the right app location, but jupyter lab path gives the spot we'd expect. In the browser where you launched jupyter lab, what is window.lab.info.assetsDir (from the browser JavaScript console)?

tylere commented 7 years ago
window.lab.info.assetsDir
"/opt/conda/lib/python3.6/site-packages/jupyterlab/build"
P.S. I wasn't aware of the markdown details feature before today, but then @jasongrout demonstrated its use while cleaning up one my posts. I like how it makes it easier to read, while preserving the gory details. :)
blink1073 commented 7 years ago

What is the exact command you are using to launch jupyterlab?

tylere commented 7 years ago

I have been using the jupyter/docker-stacks minimal-notebook image. It installs jupyterlab 0.27.* using conda and is launched using the start.sh script.

Specifically, here are the commands I use to launch JupyterLab:

docker pull jupyter/minimal-notebook Using default tag: latest latest: Pulling from jupyter/minimal-notebook Digest: sha256:da05061ac90de9cff07a5096729646e2b36bb3997da34dc00e7aef11c014fad4 Status: Image is up to date for jupyter/minimal-notebook:latest
docker run -it -p 8888:8888 --rm jupyter/minimal-notebook start.sh jupyter lab Execute the command: jupyter lab [I 00:55:21.734 LabApp] Writing notebook server cookie secret to /home/jovyan/.local/share/jupyter/runtime/notebook_cookie_secret [W 00:55:21.772 LabApp] WARNING: The notebook server is listening on all IP addresses and not using encryption. This is not recommended. [I 00:55:21.786 LabApp] JupyterLab alpha preview extension loaded from /opt/conda/lib/python3.6/site-packages/jupyterlab JupyterLab v0.27.0 Known labextensions: [I 00:55:21.794 LabApp] Running the core application with no additional extensions or settings [I 00:55:21.801 LabApp] Serving notebooks from local directory: /home/jovyan [I 00:55:21.801 LabApp] 0 active kernels [I 00:55:21.801 LabApp] The Jupyter Notebook is running at: http://[all ip addresses on your system]:8888/?token=2eefe4875b614d20fc7ded2e8cf0c230adb7a0c38fca4a57 [I 00:55:21.801 LabApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). [C 00:55:21.802 LabApp] Copy/paste this URL into your browser when you connect for the first time, to login with a token: http://localhost:8888/?token=2eefe4875b614d20fc7ded2e8cf0c230adb7a0c38fca4a57
blink1073 commented 7 years ago

Can you please try running it as jupyter lab --app-dir=/opt/conda/share/jupyter/lab/?

tylere commented 7 years ago

Adding --app-dir=/opt/conda/share/jupyter/lab/ to the Jupyter lab launch command has not noticeable effect.

docker pull jupyter/minimal-notebook Using default tag: latest latest: Pulling from jupyter/minimal-notebook Digest: sha256:da05061ac90de9cff07a5096729646e2b36bb3997da34dc00e7aef11c014fad4 Status: Image is up to date for jupyter/minimal-notebook:latest
cat Dockerfile FROM jupyter/minimal-notebook MAINTAINER Tyler Erickson USER root # pkg-config for jupyterlab ipywidgets install bug RUN apt-get update && \ apt-get install -y --no-install-recommends \ pkg-config \ libjpeg-dev \ libgif-dev \ libcairo2-dev && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* USER $NB_USER
docker build --tag test-pkg-config . Sending build context to Docker daemon 2.048kB Step 1/5 : FROM jupyter/minimal-notebook ---> cb8b004e5dcf Step 2/5 : MAINTAINER Tyler Erickson ---> Using cache ---> c11f8fcfacf8 Step 3/5 : USER root ---> Using cache ---> 42e2f180b9b3 Step 4/5 : RUN apt-get update && apt-get install -y --no-install-recommends pkg-config libjpeg-dev libgif-dev libcairo2-dev && apt-get clean && rm -rf /var/lib/apt/lists/* ---> Using cache ---> deb99318d77c Step 5/5 : USER $NB_USER ---> Using cache ---> 53d157cdd5c7 Successfully built 53d157cdd5c7 Successfully tagged test-pkg-config:latest
docker run -it -p 8888:8888 --rm test-pkg-config:latest start.sh jupyter lab --app-dir=/opt/conda/share/jupyter/lab/ Execute the command: jupyter lab --app-dir=/opt/conda/share/jupyter/lab/ [I 16:48:12.895 LabApp] Writing notebook server cookie secret to /home/jovyan/.local/share/jupyter/runtime/notebook_cookie_secret [W 16:48:12.913 LabApp] WARNING: The notebook server is listening on all IP addresses and not using encryption. This is not recommended. [I 16:48:12.919 LabApp] JupyterLab alpha preview extension loaded from /opt/conda/lib/python3.6/site-packages/jupyterlab JupyterLab v0.27.0 Known labextensions: [I 16:48:12.921 LabApp] Running the core application with no additional extensions or settings [I 16:48:12.925 LabApp] Serving notebooks from local directory: /home/jovyan [I 16:48:12.925 LabApp] 0 active kernels [I 16:48:12.925 LabApp] The Jupyter Notebook is running at: http://[all ip addresses on your system]:8888/?token=e84c2202e28a6a71bae611598808b79f0a116ad6d8e12bfb [I 16:48:12.925 LabApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). [C 16:48:12.926 LabApp] Copy/paste this URL into your browser when you connect for the first time, to login with a token: http://localhost:8888/?token=e84c2202e28a6a71bae611598808b79f0a116ad6d8e12bfb
jovyan@6da80c23e95c:~$ which pkg-config /usr/bin/pkg-config
jovyan@6da80c23e95c:~$ pip install ipywidgets Collecting ipywidgets Downloading ipywidgets-7.0.0-py2.py3-none-any.whl (64kB) 100% |████████████████████████████████| 71kB 3.3MB/s Requirement already satisfied: ipykernel>=4.5.1 in /opt/conda/lib/python3.6/site-packages (from ipywidgets) Requirement already satisfied: traitlets>=4.3.1 in /opt/conda/lib/python3.6/site-packages (from ipywidgets) Collecting widgetsnbextension~=3.0.0 (from ipywidgets) Downloading widgetsnbextension-3.0.2-py2.py3-none-any.whl (2.5MB) 100% |████████████████████████████████| 2.5MB 278kB/s Requirement already satisfied: nbformat>=4.2.0 in /opt/conda/lib/python3.6/site-packages (from ipywidgets) Requirement already satisfied: ipython>=4.0.0; python_version >= "3.3" in /opt/conda/lib/python3.6/site-packages (from ipywidgets) Requirement already satisfied: tornado>=4.0 in /opt/conda/lib/python3.6/site-packages (from ipykernel>=4.5.1->ipywidgets) Requirement already satisfied: jupyter-client in /opt/conda/lib/python3.6/site-packages (from ipykernel>=4.5.1->ipywidgets) Requirement already satisfied: decorator in /opt/conda/lib/python3.6/site-packages (from traitlets>=4.3.1->ipywidgets) Requirement already satisfied: six in /opt/conda/lib/python3.6/site-packages (from traitlets>=4.3.1->ipywidgets) Requirement already satisfied: ipython-genutils in /opt/conda/lib/python3.6/site-packages (from traitlets>=4.3.1->ipywidgets) Requirement already satisfied: notebook>=4.4.1 in /opt/conda/lib/python3.6/site-packages (from widgetsnbextension~=3.0.0->ipywidget s) Requirement already satisfied: jupyter-core in /opt/conda/lib/python3.6/site-packages (from nbformat>=4.2.0->ipywidgets) Requirement already satisfied: jsonschema!=2.5.0,>=2.4 in /opt/conda/lib/python3.6/site-packages (from nbformat>=4.2.0->ipywidgets) Requirement already satisfied: pickleshare in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= "3.3"- >ipywidgets) Requirement already satisfied: simplegeneric>0.8 in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: prompt-toolkit<2.0.0,>=1.0.4 in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_ version >= "3.3"->ipywidgets) Requirement already satisfied: setuptools>=18.5 in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= " 3.3"->ipywidgets) Requirement already satisfied: jedi>=0.10 in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= "3.3"-> ipywidgets) Requirement already satisfied: pexpect; sys_platform != "win32" in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; pyt hon_version >= "3.3"->ipywidgets) Requirement already satisfied: pygments in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= "3.3"->ip ywidgets) Requirement already satisfied: python-dateutil>=2.1 in /opt/conda/lib/python3.6/site-packages (from jupyter-client->ipykernel>=4.5. 1->ipywidgets) Requirement already satisfied: pyzmq>=13 in /opt/conda/lib/python3.6/site-packages (from jupyter-client->ipykernel>=4.5.1->ipywidge ts) Requirement already satisfied: nbconvert in /opt/conda/lib/python3.6/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.0.0 ->ipywidgets) Requirement already satisfied: terminado>=0.3.3; sys_platform != "win32" in /opt/conda/lib/python3.6/site-packages (from notebook>= 4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: jinja2 in /opt/conda/lib/python3.6/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.0.0->i pywidgets) Requirement already satisfied: wcwidth in /opt/conda/lib/python3.6/site-packages (from prompt-toolkit<2.0.0,>=1.0.4->ipython>=4.0.0 ; python_version >= "3.3"->ipywidgets) Requirement already satisfied: pandocfilters>=1.4.1 in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->wid getsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: bleach in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextensio n~=3.0.0->ipywidgets) Requirement already satisfied: mistune!=0.6 in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbex tension~=3.0.0->ipywidgets) Requirement already satisfied: entrypoints>=0.2.2 in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widge tsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: testpath in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextens ion~=3.0.0->ipywidgets) Requirement already satisfied: MarkupSafe>=0.23 in /opt/conda/lib/python3.6/site-packages (from jinja2->notebook>=4.4.1->widgetsnbe xtension~=3.0.0->ipywidgets) Requirement already satisfied: html5lib!=0.9999,!=0.99999,<0.99999999,>=0.999 in /opt/conda/lib/python3.6/site-packages (from bleac h->nbconvert->notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Installing collected packages: widgetsnbextension, ipywidgets Successfully installed ipywidgets-7.0.0 widgetsnbextension-3.0.2
jovyan@6da80c23e95c:~$ jupyter nbextension enable --py widgetsnbextension --sys-prefix Enabling notebook extension jupyter-js-widgets/extension... - Validating: OK
jovyan@6da80c23e95c:~$ jupyter labextension install @jupyter-widgets/jupyterlab-manager > npm pack @jupyter-widgets/jupyterlab-manager jupyter-widgets-jupyterlab-manager-0.27.0.tgz > node node-version-check.js > npm install npm WARN prefer global marked@0.3.6 should be installed with -g > canvas@1.6.7 install /opt/conda/share/jupyter/lab/staging/node_modules/canvas > node-gyp rebuild make: Entering directory '/opt/conda/share/jupyter/lab/staging/node_modules/canvas/build' SOLINK_MODULE(target) Release/obj.target/canvas-postbuild.node COPY Release/canvas-postbuild.node CXX(target) Release/obj.target/canvas/src/Canvas.o CXX(target) Release/obj.target/canvas/src/CanvasGradient.o CXX(target) Release/obj.target/canvas/src/CanvasPattern.o CXX(target) Release/obj.target/canvas/src/CanvasRenderingContext2d.o CXX(target) Release/obj.target/canvas/src/color.o CXX(target) Release/obj.target/canvas/src/Image.o CXX(target) Release/obj.target/canvas/src/ImageData.o CXX(target) Release/obj.target/canvas/src/init.o CXX(target) Release/obj.target/canvas/src/FontFace.o SOLINK_MODULE(target) Release/obj.target/canvas.node COPY Release/canvas.node make: Leaving directory '/opt/conda/share/jupyter/lab/staging/node_modules/canvas/build' > spawn-sync@1.0.15 postinstall /opt/conda/share/jupyter/lab/staging/node_modules/spawn-sync > node postinstall @jupyterlab/application-top@0.10.2 /opt/conda/share/jupyter/lab/staging ├─┬ @jupyter-widgets/jupyterlab-manager@0.27.0 │ ├─┬ @jupyter-widgets/base@1.0.1 │ │ ├── @jupyter-widgets/schema@0.3.0 │ │ ├─┬ @types/backbone@1.3.36 │ │ │ ├── @types/jquery@3.2.12 │ │ │ └── @types/underscore@1.8.3 │ │ ├── @types/lodash@4.14.74 │ │ ├── @types/semver@5.4.0 │ │ ├── backbone@1.2.3 │ │ ├── jquery@3.2.1 │ │ ├── lodash@4.17.4 │ │ └── semver@5.4.1 │ ├─┬ @jupyter-widgets/controls@1.0.1 │ │ ├── d3-format@0.5.1 │ │ ├── jquery-ui@1.12.1 │ │ └── underscore@1.8.3 │ └── @jupyter-widgets/output@1.0.1 ├─┬ @jupyterlab/application@0.10.0 │ ├── @phosphor/application@1.5.0 │ └── @phosphor/properties@1.1.2 ├── @jupyterlab/application-extension@0.10.0 ├─┬ @jupyterlab/apputils@0.10.0 │ ├── @phosphor/domutils@1.1.2 │ └─┬ sanitize-html@1.14.1 │ ├─┬ htmlparser2@3.9.2 │ │ ├── domelementtype@1.3.0 │ │ ├── domhandler@2.4.1 │ │ ├─┬ domutils@1.6.2 │ │ │ └─┬ dom-serializer@0.1.0 │ │ │ └── domelementtype@1.1.3 │ │ └── entities@1.1.1 │ ├── regexp-quote@0.0.0 │ └── xtend@4.0.1 ├── @jupyterlab/apputils-extension@0.10.2 ├── @jupyterlab/cells@0.10.0 ├── @jupyterlab/codeeditor@0.10.0 ├─┬ @jupyterlab/codemirror@0.10.0 │ └── codemirror@5.29.0 ├── @jupyterlab/codemirror-extension@0.10.0 ├── @jupyterlab/completer@0.10.0 ├── @jupyterlab/completer-extension@0.10.0 ├── @jupyterlab/console@0.10.0 ├── @jupyterlab/console-extension@0.10.0 ├─┬ @jupyterlab/coreutils@0.10.0 │ ├─┬ ajv@5.2.2 │ │ ├── co@4.6.0 │ │ ├── fast-deep-equal@1.0.0 │ │ └── json-schema-traverse@0.3.1 │ ├── minimist@1.2.0 │ ├── moment@2.18.1 │ ├── path-posix@1.0.0 │ └─┬ url-parse@1.1.9 │ ├── querystringify@1.0.0 │ └── requires-port@1.0.0 ├─┬ @jupyterlab/csvviewer@0.10.0 │ ├── @phosphor/datagrid@0.1.5 │ └─┬ d3-dsv@1.0.7 │ ├── commander@2.11.0 │ ├── iconv-lite@0.4.19 │ └── rw@1.3.3 ├── @jupyterlab/csvviewer-extension@0.10.0 ├── @jupyterlab/docmanager@0.10.0 ├── @jupyterlab/docmanager-extension@0.10.0 ├── @jupyterlab/docregistry@0.10.0 ├── @jupyterlab/faq-extension@0.10.0 ├─┬ @jupyterlab/filebrowser@0.10.0 │ └── @phosphor/dragdrop@1.3.0 ├── @jupyterlab/filebrowser-extension@0.10.0 ├── @jupyterlab/fileeditor@0.10.0 ├── @jupyterlab/fileeditor-extension@0.10.0 ├── @jupyterlab/help-extension@0.10.0 ├── @jupyterlab/imageviewer@0.10.0 ├── @jupyterlab/imageviewer-extension@0.10.0 ├── @jupyterlab/inspector@0.10.0 ├── @jupyterlab/inspector-extension@0.10.0 ├── @jupyterlab/launcher@0.10.0 ├── @jupyterlab/launcher-extension@0.10.0 ├── @jupyterlab/markdownviewer-extension@0.10.0 ├── @jupyterlab/notebook@0.10.0 ├── @jupyterlab/notebook-extension@0.10.0 ├── @jupyterlab/outputarea@0.10.0 ├── @jupyterlab/pdf-extension@0.2.0 ├─┬ @jupyterlab/rendermime@0.10.0 │ ├── ansi_up@1.3.0 │ └── marked@0.3.6 ├── @jupyterlab/rendermime-interfaces@0.3.1 ├── @jupyterlab/running@0.10.0 ├── @jupyterlab/running-extension@0.10.0 ├── @jupyterlab/services@0.49.0 ├── @jupyterlab/settingeditor-extension@0.5.0 ├── @jupyterlab/shortcuts-extension@0.10.0 ├── @jupyterlab/tabmanager-extension@0.10.0 ├─┬ @jupyterlab/terminal@0.10.0 │ └── xterm@2.8.1 ├── @jupyterlab/terminal-extension@0.10.0 ├── @jupyterlab/theme-dark-extension@0.10.0 ├── @jupyterlab/theme-light-extension@0.10.0 ├── @jupyterlab/tooltip@0.10.0 ├── @jupyterlab/tooltip-extension@0.10.0 ├── @jupyterlab/vega2-extension@0.10.0 ├── @phosphor/algorithm@1.1.2 ├─┬ @phosphor/commands@1.4.0 │ └── @phosphor/keyboard@1.1.2 ├── @phosphor/coreutils@1.3.0 ├── @phosphor/disposable@1.1.2 ├─┬ @phosphor/messaging@1.2.2 │ └── @phosphor/collections@1.1.2 ├── @phosphor/signaling@1.2.2 ├── @phosphor/virtualdom@1.1.2 ├── @phosphor/widgets@1.5.0 ├─┬ css-loader@0.27.3 │ ├─┬ babel-code-frame@6.26.0 │ │ ├─┬ chalk@1.1.3 │ │ │ ├── ansi-styles@2.2.1 │ │ │ ├── escape-string-regexp@1.0.5 │ │ │ ├─┬ has-ansi@2.0.0 │ │ │ │ └── ansi-regex@2.1.1 │ │ │ ├── strip-ansi@3.0.1 │ │ │ └── supports-color@2.0.0 │ │ ├── esutils@2.0.2 │ │ └── js-tokens@3.0.2 │ ├─┬ css-selector-tokenizer@0.7.0 │ │ ├── cssesc@0.1.0 │ │ ├── fastparse@1.1.1 │ │ └─┬ regexpu-core@1.0.0 │ │ ├── regenerate@1.3.2 │ │ ├── regjsgen@0.2.0 │ │ └─┬ regjsparser@0.1.5 │ │ └── jsesc@0.5.0 │ ├─┬ cssnano@3.10.0 │ │ ├─┬ autoprefixer@6.7.7 │ │ │ ├─┬ browserslist@1.7.7 │ │ │ │ └── electron-to-chromium@1.3.21 │ │ │ ├── caniuse-db@1.0.30000727 │ │ │ ├── normalize-range@0.1.2 │ │ │ └── num2fraction@1.2.2 │ │ ├── decamelize@1.2.0 │ │ ├── defined@1.0.0 │ │ ├─┬ has@1.0.1 │ │ │ └── function-bind@1.1.1 │ │ ├─┬ postcss-calc@5.3.1 │ │ │ ├── postcss-message-helpers@2.0.0 │ │ │ └─┬ reduce-css-calc@1.3.0 │ │ │ ├── balanced-match@0.4.2 │ │ │ ├── math-expression-evaluator@1.2.17 │ │ │ └── reduce-function-call@1.0.2 │ │ ├─┬ postcss-colormin@2.2.2 │ │ │ └─┬ colormin@1.1.2 │ │ │ ├─┬ color@0.11.4 │ │ │ │ ├── clone@1.0.2 │ │ │ │ ├─┬ color-convert@1.9.0 │ │ │ │ │ └── color-name@1.1.3 │ │ │ │ └── color-string@0.3.0 │ │ │ └── css-color-names@0.0.4 │ │ ├── postcss-convert-values@2.6.1 │ │ ├── postcss-discard-comments@2.0.4 │ │ ├── postcss-discard-duplicates@2.1.0 │ │ ├── postcss-discard-empty@2.1.0 │ │ ├── postcss-discard-overridden@0.1.1 │ │ ├─┬ postcss-discard-unused@2.2.3 │ │ │ └── uniqs@2.0.0 │ │ ├─┬ postcss-filter-plugins@2.0.2 │ │ │ └─┬ uniqid@4.1.1 │ │ │ └── macaddress@0.2.8 │ │ ├── postcss-merge-idents@2.1.7 │ │ ├── postcss-merge-longhand@2.0.2 │ │ ├─┬ postcss-merge-rules@2.1.2 │ │ │ ├─┬ caniuse-api@1.6.1 │ │ │ │ ├── lodash.memoize@4.1.2 │ │ │ │ └── lodash.uniq@4.5.0 │ │ │ ├─┬ postcss-selector-parser@2.2.3 │ │ │ │ ├── flatten@1.0.2 │ │ │ │ ├── indexes-of@1.0.1 │ │ │ │ └── uniq@1.0.1 │ │ │ └── vendors@1.0.1 │ │ ├── postcss-minify-font-values@1.0.5 │ │ ├── postcss-minify-gradients@1.0.5 │ │ ├─┬ postcss-minify-params@1.2.2 │ │ │ └── alphanum-sort@1.0.2 │ │ ├── postcss-minify-selectors@2.1.1 │ │ ├── postcss-normalize-charset@1.1.1 │ │ ├─┬ postcss-normalize-url@3.0.8 │ │ │ ├── is-absolute-url@2.1.0 │ │ │ └─┬ normalize-url@1.9.1 │ │ │ ├── prepend-http@1.0.4 │ │ │ ├─┬ query-string@4.3.4 │ │ │ │ └── strict-uri-encode@1.1.0 │ │ │ └─┬ sort-keys@1.1.2 │ │ │ └── is-plain-obj@1.1.0 │ │ ├── postcss-ordered-values@2.2.3 │ │ ├── postcss-reduce-idents@2.4.0 │ │ ├── postcss-reduce-initial@1.0.1 │ │ ├── postcss-reduce-transforms@1.0.4 │ │ ├─┬ postcss-svgo@2.1.6 │ │ │ ├─┬ is-svg@2.1.0 │ │ │ │ └── html-comment-regex@1.1.1 │ │ │ └─┬ svgo@0.7.2 │ │ │ ├─┬ coa@1.0.4 │ │ │ │ └── q@1.5.0 │ │ │ ├── colors@1.1.2 │ │ │ ├─┬ csso@2.3.2 │ │ │ │ ├── clap@1.2.0 │ │ │ │ └── source-map@0.5.7 │ │ │ ├─┬ js-yaml@3.7.0 │ │ │ │ ├─┬ argparse@1.0.9 │ │ │ │ │ └── sprintf-js@1.0.3 │ │ │ │ └── esprima@2.7.3 │ │ │ ├── sax@1.2.4 │ │ │ └── whet.extend@0.9.9 │ │ ├── postcss-unique-selectors@2.0.2 │ │ ├── postcss-value-parser@3.3.0 │ │ └── postcss-zindex@2.2.0 │ ├─┬ loader-utils@1.1.0 │ │ ├── big.js@3.1.3 │ │ └── emojis-list@2.1.0 │ ├── lodash.camelcase@4.3.0 │ ├── object-assign@4.1.1 │ ├─┬ postcss@5.2.17 │ │ ├── js-base64@2.3.1 │ │ ├── source-map@0.5.7 │ │ └── supports-color@3.2.3 │ ├─┬ postcss-modules-extract-imports@1.1.0 │ │ └─┬ postcss@6.0.11 │ │ ├─┬ chalk@2.1.0 │ │ │ └── ansi-styles@3.2.0 │ │ ├── source-map@0.5.7 │ │ └─┬ supports-color@4.4.0 │ │ └── has-flag@2.0.0 │ ├─┬ postcss-modules-local-by-default@1.2.0 │ │ └─┬ postcss@6.0.11 │ │ ├─┬ chalk@2.1.0 │ │ │ └── ansi-styles@3.2.0 │ │ ├── source-map@0.5.7 │ │ └─┬ supports-color@4.4.0 │ │ └── has-flag@2.0.0 │ ├─┬ postcss-modules-scope@1.1.0 │ │ └─┬ postcss@6.0.11 │ │ ├─┬ chalk@2.1.0 │ │ │ └── ansi-styles@3.2.0 │ │ ├── source-map@0.5.7 │ │ └─┬ supports-color@4.4.0 │ │ └── has-flag@2.0.0 │ ├─┬ postcss-modules-values@1.3.0 │ │ ├── icss-replace-symbols@1.1.0 │ │ └─┬ postcss@6.0.11 │ │ ├─┬ chalk@2.1.0 │ │ │ └── ansi-styles@3.2.0 │ │ ├── source-map@0.5.7 │ │ └─┬ supports-color@4.4.0 │ │ └── has-flag@2.0.0 │ └── source-list-map@0.1.8 ├── d3@3.5.17 ├── es6-promise@4.1.1 ├── file-loader@0.10.1 ├── font-awesome@4.7.0 ├─┬ fs-extra@2.1.2 │ ├── graceful-fs@4.1.11 │ └── jsonfile@2.4.0 ├─┬ glob@7.1.2 │ ├── fs.realpath@1.0.0 │ ├─┬ inflight@1.0.6 │ │ └── wrappy@1.0.2 │ ├── inherits@2.0.3 │ ├─┬ minimatch@3.0.4 │ │ └─┬ brace-expansion@1.1.8 │ │ ├── balanced-match@1.0.0 │ │ └── concat-map@0.0.1 │ ├── once@1.4.0 │ └── path-is-absolute@1.0.1 ├─┬ handlebars@4.0.10 │ ├── async@1.5.2 │ ├─┬ optimist@0.6.1 │ │ ├── minimist@0.0.10 │ │ └── wordwrap@0.0.3 │ ├─┬ source-map@0.4.4 │ │ └── amdefine@1.0.1 │ └─┬ uglify-js@2.8.29 │ ├── source-map@0.5.7 │ ├── uglify-to-browserify@1.0.2 │ └─┬ yargs@3.10.0 │ ├── camelcase@1.2.1 │ ├─┬ cliui@2.1.0 │ │ ├─┬ center-align@0.1.3 │ │ │ ├─┬ align-text@0.1.4 │ │ │ │ ├── longest@1.0.1 │ │ │ │ └── repeat-string@1.6.1 │ │ │ └── lazy-cache@1.0.4 │ │ ├── right-align@0.1.3 │ │ └── wordwrap@0.0.2 │ └── window-size@0.1.0 ├── json-loader@0.5.7 ├── raw-loader@0.5.1 ├─┬ sort-package-json@1.7.1 │ └── sort-object-keys@1.1.2 ├── style-loader@0.13.2 ├─┬ url-loader@0.5.9 │ └── mime@1.3.6 ├─┬ vega@2.6.5 │ ├─┬ canvas@1.6.7 │ │ ├── nan@2.7.0 │ │ ├─┬ parse-css-font@2.0.2 │ │ │ ├── css-font-size-keywords@1.0.0 │ │ │ ├── css-font-stretch-keywords@1.0.1 │ │ │ ├── css-font-style-keywords@1.0.1 │ │ │ ├── css-font-weight-keywords@1.0.0 │ │ │ ├── css-global-keywords@1.0.1 │ │ │ ├── css-list-helpers@1.0.1 │ │ │ ├── css-system-font-keywords@1.0.0 │ │ │ ├── tcomb@2.7.0 │ │ │ └── unquote@1.1.0 │ │ └─┬ units-css@0.4.0 │ │ ├── isnumeric@0.2.0 │ │ └── viewport-dimensions@0.2.0 │ ├─┬ d3-cloud@1.2.4 │ │ └── d3-dispatch@1.0.3 │ ├─┬ d3-geo-projection@0.2.16 │ │ └─┬ brfs@1.4.3 │ │ ├─┬ quote-stream@1.0.2 │ │ │ └── buffer-equal@0.0.1 │ │ ├─┬ resolve@1.4.0 │ │ │ └── path-parse@1.0.5 │ │ ├─┬ static-module@1.5.0 │ │ │ ├─┬ duplexer2@0.0.2 │ │ │ │ └─┬ readable-stream@1.1.14 │ │ │ │ ├── isarray@0.0.1 │ │ │ │ └── string_decoder@0.10.31 │ │ │ ├─┬ escodegen@1.3.3 │ │ │ │ ├── esprima@1.1.1 │ │ │ │ ├── estraverse@1.5.1 │ │ │ │ ├── esutils@1.0.0 │ │ │ │ └── source-map@0.1.43 │ │ │ ├─┬ falafel@2.1.0 │ │ │ │ ├── foreach@2.0.5 │ │ │ │ ├── isarray@0.0.1 │ │ │ │ └── object-keys@1.0.11 │ │ │ ├── object-inspect@0.4.0 │ │ │ ├─┬ quote-stream@0.0.0 │ │ │ │ └── minimist@0.0.8 │ │ │ ├─┬ readable-stream@1.0.34 │ │ │ │ ├── isarray@0.0.1 │ │ │ │ └── string_decoder@0.10.31 │ │ │ ├── shallow-copy@0.0.1 │ │ │ ├─┬ static-eval@0.2.4 │ │ │ │ └─┬ escodegen@0.0.28 │ │ │ │ ├── esprima@1.0.4 │ │ │ │ └── estraverse@1.3.2 │ │ │ └─┬ through2@0.4.2 │ │ │ └─┬ xtend@2.1.2 │ │ │ └── object-keys@0.4.0 │ │ └── through2@2.0.3 │ ├─┬ datalib@1.8.0 │ │ ├── d3-dsv@0.1.14 │ │ ├── d3-format@0.4.2 │ │ ├── d3-time@0.1.1 │ │ ├── d3-time-format@0.2.1 │ │ ├─┬ request@2.81.0 │ │ │ ├── aws-sign2@0.6.0 │ │ │ ├── aws4@1.6.0 │ │ │ ├── caseless@0.12.0 │ │ │ ├─┬ combined-stream@1.0.5 │ │ │ │ └── delayed-stream@1.0.0 │ │ │ ├── extend@3.0.1 │ │ │ ├── forever-agent@0.6.1 │ │ │ ├─┬ form-data@2.1.4 │ │ │ │ └── asynckit@0.4.0 │ │ │ ├─┬ har-validator@4.2.1 │ │ │ │ ├── ajv@4.11.8 │ │ │ │ └── har-schema@1.0.5 │ │ │ ├─┬ hawk@3.1.3 │ │ │ │ ├── boom@2.10.1 │ │ │ │ ├── cryptiles@2.0.5 │ │ │ │ ├── hoek@2.16.3 │ │ │ │ └── sntp@1.0.9 │ │ │ ├─┬ http-signature@1.1.1 │ │ │ │ ├── assert-plus@0.2.0 │ │ │ │ ├─┬ jsprim@1.4.1 │ │ │ │ │ ├── assert-plus@1.0.0 │ │ │ │ │ ├── extsprintf@1.3.0 │ │ │ │ │ ├── json-schema@0.2.3 │ │ │ │ │ └─┬ verror@1.10.0 │ │ │ │ │ └── assert-plus@1.0.0 │ │ │ │ └─┬ sshpk@1.13.1 │ │ │ │ ├── asn1@0.2.3 │ │ │ │ ├── assert-plus@1.0.0 │ │ │ │ ├── bcrypt-pbkdf@1.0.1 │ │ │ │ ├─┬ dashdash@1.14.1 │ │ │ │ │ └── assert-plus@1.0.0 │ │ │ │ ├── ecc-jsbn@0.1.1 │ │ │ │ ├─┬ getpass@0.1.7 │ │ │ │ │ └── assert-plus@1.0.0 │ │ │ │ ├── jsbn@0.1.1 │ │ │ │ └── tweetnacl@0.14.5 │ │ │ ├── is-typedarray@1.0.0 │ │ │ ├── isstream@0.1.2 │ │ │ ├── json-stringify-safe@5.0.1 │ │ │ ├─┬ mime-types@2.1.17 │ │ │ │ └── mime-db@1.30.0 │ │ │ ├── oauth-sign@0.8.2 │ │ │ ├── performance-now@0.2.0 │ │ │ ├── qs@6.4.0 │ │ │ ├── safe-buffer@5.1.1 │ │ │ ├── stringstream@0.0.5 │ │ │ ├── tough-cookie@2.3.2 │ │ │ ├── tunnel-agent@0.6.0 │ │ │ └── uuid@3.1.0 │ │ └─┬ sync-request@2.2.0 │ │ ├─┬ concat-stream@1.6.0 │ │ │ └── typedarray@0.0.6 │ │ ├── http-response-object@1.1.0 │ │ ├─┬ spawn-sync@1.0.15 │ │ │ └── os-shim@0.1.3 │ │ └─┬ then-request@2.2.0 │ │ ├── caseless@0.11.0 │ │ ├─┬ http-basic@2.5.1 │ │ │ └── caseless@0.11.0 │ │ └─┬ promise@7.3.1 │ │ └── asap@2.0.6 │ ├─┬ topojson@1.6.27 │ │ ├── d3-queue@2.0.3 │ │ ├── optimist@0.3.7 │ │ └─┬ shapefile@0.3.1 │ │ ├── d3-queue@1.2.3 │ │ └── iconv-lite@0.2.11 │ ├── vega-dataflow@1.4.3 │ ├── vega-event-selector@1.1.0 │ ├── vega-expression@1.2.1 │ ├── vega-logging@1.0.2 │ ├── vega-scenegraph@1.1.0 │ └─┬ yargs@3.32.0 │ ├── camelcase@2.1.1 │ ├─┬ cliui@3.2.0 │ │ └── wrap-ansi@2.1.0 │ ├─┬ os-locale@1.4.0 │ │ └─┬ lcid@1.0.0 │ │ └── invert-kv@1.0.0 │ ├─┬ string-width@1.0.2 │ │ ├── code-point-at@1.1.0 │ │ └─┬ is-fullwidth-code-point@1.0.0 │ │ └── number-is-nan@1.0.1 │ ├── window-size@0.1.4 │ └── y18n@3.2.1 ├── vega-embed@2.2.0 ├─┬ vega-lite@1.3.1 │ ├─┬ datalib@1.7.3 │ │ ├── d3-dsv@0.1.14 │ │ └── d3-format@0.4.2 │ ├─┬ json-stable-stringify@1.0.1 │ │ └── jsonify@0.0.0 │ └─┬ yargs@6.3.0 │ ├── camelcase@3.0.0 │ ├── get-caller-file@1.0.2 │ ├─┬ read-pkg-up@1.0.1 │ │ ├─┬ find-up@1.1.2 │ │ │ ├── path-exists@2.1.0 │ │ │ └─┬ pinkie-promise@2.0.1 │ │ │ └── pinkie@2.0.4 │ │ └─┬ read-pkg@1.1.0 │ │ ├─┬ load-json-file@1.1.0 │ │ │ ├─┬ parse-json@2.2.0 │ │ │ │ └─┬ error-ex@1.3.1 │ │ │ │ └── is-arrayish@0.2.1 │ │ │ ├── pify@2.3.0 │ │ │ └─┬ strip-bom@2.0.0 │ │ │ └── is-utf8@0.2.1 │ │ ├─┬ normalize-package-data@2.4.0 │ │ │ ├── hosted-git-info@2.5.0 │ │ │ ├─┬ is-builtin-module@1.0.0 │ │ │ │ └── builtin-modules@1.1.1 │ │ │ └─┬ validate-npm-package-license@3.0.1 │ │ │ ├─┬ spdx-correct@1.0.2 │ │ │ │ └── spdx-license-ids@1.2.2 │ │ │ └── spdx-expression-parse@1.0.4 │ │ └── path-type@1.1.0 │ ├── require-directory@2.1.1 │ ├── require-main-filename@1.0.1 │ ├── set-blocking@2.0.0 │ ├── which-module@1.0.0 │ ├── window-size@0.2.0 │ └─┬ yargs-parser@4.2.1 │ └── camelcase@3.0.0 └─┬ webpack@2.7.0 ├── acorn@5.1.2 ├─┬ acorn-dynamic-import@2.0.2 │ └── acorn@4.0.13 ├── ajv@4.11.8 ├── ajv-keywords@1.5.1 ├── async@2.5.0 ├── enhanced-resolve@3.4.1 ├── interpret@1.0.3 ├── json5@0.5.1 ├── loader-runner@2.3.0 ├── loader-utils@0.2.17 ├─┬ memory-fs@0.4.1 │ ├─┬ errno@0.1.4 │ │ └── prr@0.0.0 │ └─┬ readable-stream@2.3.3 │ ├── core-util-is@1.0.2 │ ├── isarray@1.0.0 │ ├── process-nextick-args@1.0.7 │ ├── string_decoder@1.0.3 │ └── util-deprecate@1.0.2 ├─┬ mkdirp@0.5.1 │ └── minimist@0.0.8 ├─┬ node-libs-browser@2.0.0 │ ├── assert@1.4.1 │ ├─┬ browserify-zlib@0.1.4 │ │ └── pako@0.2.9 │ ├─┬ buffer@4.9.1 │ │ ├── base64-js@1.2.1 │ │ └── ieee754@1.1.8 │ ├─┬ console-browserify@1.1.0 │ │ └── date-now@0.1.4 │ ├── constants-browserify@1.0.0 │ ├─┬ crypto-browserify@3.11.1 │ │ ├─┬ browserify-cipher@1.0.0 │ │ │ ├─┬ browserify-aes@1.0.8 │ │ │ │ └── buffer-xor@1.0.3 │ │ │ ├─┬ browserify-des@1.0.0 │ │ │ │ └── des.js@1.0.0 │ │ │ └─┬ evp_bytestokey@1.0.3 │ │ │ └─┬ md5.js@1.3.4 │ │ │ └── hash-base@3.0.4 │ │ ├─┬ browserify-sign@4.0.4 │ │ │ ├── bn.js@4.11.8 │ │ │ ├── browserify-rsa@4.0.1 │ │ │ ├─┬ elliptic@6.4.0 │ │ │ │ ├── brorand@1.1.0 │ │ │ │ ├── hash.js@1.1.3 │ │ │ │ ├── hmac-drbg@1.0.1 │ │ │ │ ├── minimalistic-assert@1.0.0 │ │ │ │ └── minimalistic-crypto-utils@1.0.1 │ │ │ └─┬ parse-asn1@5.1.0 │ │ │ └── asn1.js@4.9.1 │ │ ├── create-ecdh@4.0.0 │ │ ├─┬ create-hash@1.1.3 │ │ │ ├── cipher-base@1.0.4 │ │ │ ├─┬ ripemd160@2.0.1 │ │ │ │ └── hash-base@2.0.2 │ │ │ └── sha.js@2.4.8 │ │ ├── create-hmac@1.1.6 │ │ ├─┬ diffie-hellman@5.0.2 │ │ │ └── miller-rabin@4.0.0 │ │ ├── pbkdf2@3.0.14 │ │ ├── public-encrypt@4.0.0 │ │ └── randombytes@2.0.5 │ ├── domain-browser@1.1.7 │ ├── events@1.1.1 │ ├── https-browserify@0.0.1 │ ├── os-browserify@0.2.1 │ ├── path-browserify@0.0.0 │ ├── process@0.11.10 │ ├── punycode@1.4.1 │ ├── querystring-es3@0.2.1 │ ├── stream-browserify@2.0.1 │ ├─┬ stream-http@2.7.2 │ │ ├── builtin-status-codes@3.0.0 │ │ └── to-arraybuffer@1.0.1 │ ├── string_decoder@0.10.31 │ ├─┬ timers-browserify@2.0.4 │ │ └── setimmediate@1.0.5 │ ├── tty-browserify@0.0.0 │ ├─┬ url@0.11.0 │ │ ├── punycode@1.3.2 │ │ └── querystring@0.2.0 │ ├─┬ util@0.10.3 │ │ └── inherits@2.0.1 │ └─┬ vm-browserify@0.0.4 │ └── indexof@0.0.1 ├── source-map@0.5.7 ├─┬ supports-color@3.2.3 │ └── has-flag@1.0.0 ├── tapable@0.2.8 ├─┬ watchpack@1.4.0 │ ├── async@2.5.0 │ └─┬ chokidar@1.7.0 │ ├─┬ anymatch@1.3.2 │ │ ├─┬ micromatch@2.3.11 │ │ │ ├─┬ arr-diff@2.0.0 │ │ │ │ └── arr-flatten@1.1.0 │ │ │ ├── array-unique@0.2.1 │ │ │ ├─┬ braces@1.8.5 │ │ │ │ ├─┬ expand-range@1.8.2 │ │ │ │ │ └─┬ fill-range@2.2.3 │ │ │ │ │ ├── is-number@2.1.0 │ │ │ │ │ ├── isobject@2.1.0 │ │ │ │ │ └─┬ randomatic@1.1.7 │ │ │ │ │ ├─┬ is-number@3.0.0 │ │ │ │ │ │ └── kind-of@3.2.2 │ │ │ │ │ └── kind-of@4.0.0 │ │ │ │ ├── preserve@0.2.0 │ │ │ │ └── repeat-element@1.1.2 │ │ │ ├─┬ expand-brackets@0.1.5 │ │ │ │ └── is-posix-bracket@0.1.1 │ │ │ ├── extglob@0.3.2 │ │ │ ├── filename-regex@2.0.1 │ │ │ ├─┬ kind-of@3.2.2 │ │ │ │ └── is-buffer@1.1.5 │ │ │ ├─┬ object.omit@2.0.1 │ │ │ │ ├─┬ for-own@0.1.5 │ │ │ │ │ └── for-in@1.0.2 │ │ │ │ └── is-extendable@0.1.1 │ │ │ ├─┬ parse-glob@3.0.4 │ │ │ │ ├── glob-base@0.3.0 │ │ │ │ └── is-dotfile@1.0.3 │ │ │ └─┬ regex-cache@0.4.4 │ │ │ └─┬ is-equal-shallow@0.1.3 │ │ │ └── is-primitive@2.0.0 │ │ └─┬ normalize-path@2.1.1 │ │ └── remove-trailing-separator@1.1.0 │ ├── async-each@1.0.1 │ ├── glob-parent@2.0.0 │ ├─┬ is-binary-path@1.0.1 │ │ └── binary-extensions@1.10.0 │ ├─┬ is-glob@2.0.1 │ │ └── is-extglob@1.0.0 │ └─┬ readdirp@2.1.0 │ └── set-immediate-shim@1.0.1 ├─┬ webpack-sources@1.0.1 │ ├── source-list-map@2.0.0 │ └── source-map@0.5.7 └─┬ yargs@6.6.0 └── camelcase@3.0.0 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) > npm run build > @jupyterlab/application-top@0.10.2 build /opt/conda/share/jupyter/lab/staging > webpack Hash: 88f763e037a743abd8d7 Version: webpack 2.7.0 Time: 9570ms Asset Size Chunks Chunk Names 674f50d287a8c48dc19ba404d20fe713.eot 166 kB [emitted] af7ae505a9eed503f8b8e6982036873e.woff2 77.2 kB [emitted] fee66e712a8a08eef5805a46892932ad.woff 98 kB [emitted] b06871f281fee6b241d60582ae9369b9.ttf 166 kB [emitted] 912ec66d7572ff821749319396470bde.svg 444 kB [emitted] [big] 0.bundle.js 893 kB 0 [emitted] [big] main.bundle.js 8.29 MB 1 [emitted] [big] main 0.bundle.js.map 1.08 MB 0 [emitted] main.bundle.js.map 9.96 MB 1 [emitted] main [6] ./~/@jupyterlab/coreutils/lib/index.js 870 bytes {1} [built] [27] ./~/@jupyterlab/application/lib/index.js 5.48 kB {1} [built] [453] ./~/@jupyterlab/application-extension/lib/index.js 6.12 kB {1} [optional] [built] [454] ./~/@jupyterlab/apputils-extension/lib/index.js 7.91 kB {1} [optional] [built] [455] ./~/@jupyterlab/codemirror-extension/lib/index.js 10.5 kB {1} [optional] [built] [456] ./~/@jupyterlab/completer-extension/lib/index.js 7.09 kB {1} [optional] [built] [457] ./~/@jupyterlab/console-extension/lib/index.js 12.5 kB {1} [optional] [built] [458] ./~/@jupyterlab/csvviewer-extension/lib/index.js 1.79 kB {1} [optional] [built] [459] ./~/@jupyterlab/docmanager-extension/lib/index.js 10.1 kB {1} [optional] [built] [460] ./~/@jupyterlab/faq-extension/lib/index.js 3.78 kB {1} [optional] [built] [461] ./~/@jupyterlab/filebrowser-extension/lib/index.js 11.9 kB {1} [optional] [built] [462] ./~/@jupyterlab/fileeditor-extension/lib/index.js 11.8 kB {1} [optional] [built] [463] ./~/@jupyterlab/help-extension/lib/index.js 8.84 kB {1} [optional] [built] [464] ./~/@jupyterlab/imageviewer-extension/lib/index.js 4.25 kB {1} [optional] [built] [494] ./build/index.out.js 8.38 kB {1} [built] + 1180 hidden modules
blink1073 commented 7 years ago

Ah, wait, are you launching jupyterlab before installing the extension?

tylere commented 7 years ago

Yes, I am currently launching Jupyterlab before installing the extension. Once Jupyterlab is running, I install ipywidgets and the labextension.

I can try to modify the Docker configuration to install ipywidgets and the labextension before launching jupyterlab.

blink1073 commented 7 years ago

Yep, you found a hole in our logic. We make the choice of app directory when launching, but we should be taking into account the new state on page reload.

tylere commented 7 years ago

Configuring Docker to install the @jupyter-widgets/jupyterlab-manager labextension before launching JupyterLab solved the issue. Hooray!

I'm leaving this issue open, assuming that you will want to do something to address the "hole in our logic".

Setup

cat Dockerfile FROM jupyter/minimal-notebook MAINTAINER Tyler Erickson USER root # pkg-config for jupyterlab ipywidgets install bug RUN apt-get update && \ apt-get install -y --no-install-recommends \ pkg-config \ libjpeg-dev \ libgif-dev \ libcairo2-dev && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* RUN pip install ipywidgets \ && jupyter nbextension enable --py widgetsnbextension --sys-prefix \ && jupyter labextension install @jupyter-widgets/jupyterlab-manager USER $NB_USER
docker build --tag test-pkg-config . Sending build context to Docker daemon 2.56kB Step 1/6 : FROM jupyter/minimal-notebook ---> cb8b004e5dcf Step 2/6 : MAINTAINER Tyler Erickson ---> Using cache ---> c11f8fcfacf8 Step 3/6 : USER root ---> Using cache ---> 42e2f180b9b3 Step 4/6 : RUN apt-get update && apt-get install -y --no-install-recommends pkg-config libjpeg-dev libgif-dev libcairo2-dev && apt-get clean && rm -rf /var/lib/apt/lists/* ---> Using cache ---> deb99318d77c Step 5/6 : RUN pip install ipywidgets && jupyter nbextension enable --py widgetsnbextension --sys-prefix && jupyter labextension install @jupyter-widgets/jupyterlab-manager ---> Running in 1609b7ec6f8b The directory '/home/jovyan/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. The directory '/home/jovyan/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. Collecting ipywidgets Downloading ipywidgets-7.0.0-py2.py3-none-any.whl (64kB) Requirement already satisfied: ipython>=4.0.0; python_version >= "3.3" in /opt/conda/lib/python3.6/site-packages (from ipywidgets) Requirement already satisfied: nbformat>=4.2.0 in /opt/conda/lib/python3.6/site-packages (from ipywidgets) Requirement already satisfied: ipykernel>=4.5.1 in /opt/conda/lib/python3.6/site-packages (from ipywidgets) Collecting widgetsnbextension~=3.0.0 (from ipywidgets) Downloading widgetsnbextension-3.0.2-py2.py3-none-any.whl (2.5MB) Requirement already satisfied: traitlets>=4.3.1 in /opt/conda/lib/python3.6/site-packages (from ipywidgets) Requirement already satisfied: jedi>=0.10 in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: simplegeneric>0.8 in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: setuptools>=18.5 in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: pexpect; sys_platform != "win32" in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: pickleshare in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: pygments in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: prompt-toolkit<2.0.0,>=1.0.4 in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: decorator in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: jupyter-core in /opt/conda/lib/python3.6/site-packages (from nbformat>=4.2.0->ipywidgets) Requirement already satisfied: jsonschema!=2.5.0,>=2.4 in /opt/conda/lib/python3.6/site-packages (from nbformat>=4.2.0->ipywidgets) Requirement already satisfied: ipython-genutils in /opt/conda/lib/python3.6/site-packages (from nbformat>=4.2.0->ipywidgets) Requirement already satisfied: jupyter-client in /opt/conda/lib/python3.6/site-packages (from ipykernel>=4.5.1->ipywidgets) Requirement already satisfied: tornado>=4.0 in /opt/conda/lib/python3.6/site-packages (from ipykernel>=4.5.1->ipywidgets) Requirement already satisfied: notebook>=4.4.1 in /opt/conda/lib/python3.6/site-packages (from widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: six in /opt/conda/lib/python3.6/site-packages (from traitlets>=4.3.1->ipywidgets) Requirement already satisfied: wcwidth in /opt/conda/lib/python3.6/site-packages (from prompt-toolkit<2.0.0,>=1.0.4->ipython>=4.0.0; python_version >= "3.3"->ipywidgets) Requirement already satisfied: pyzmq>=13 in /opt/conda/lib/python3.6/site-packages (from jupyter-client->ipykernel>=4.5.1->ipywidgets) Requirement already satisfied: python-dateutil>=2.1 in /opt/conda/lib/python3.6/site-packages (from jupyter-client->ipykernel>=4.5.1->ipywidgets) Requirement already satisfied: jinja2 in /opt/conda/lib/python3.6/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: nbconvert in /opt/conda/lib/python3.6/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: terminado>=0.3.3; sys_platform != "win32" in /opt/conda/lib/python3.6/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: MarkupSafe>=0.23 in /opt/conda/lib/python3.6/site-packages (from jinja2->notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: testpath in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: pandocfilters>=1.4.1 in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: entrypoints>=0.2.2 in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: mistune!=0.6 in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: bleach in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Requirement already satisfied: html5lib!=0.9999,!=0.99999,<0.99999999,>=0.999 in /opt/conda/lib/python3.6/site-packages (from bleach->nbconvert->notebook>=4.4.1->widgetsnbextension~=3.0.0->ipywidgets) Installing collected packages: widgetsnbextension, ipywidgets Successfully installed ipywidgets-7.0.0 widgetsnbextension-3.0.2 Enabling notebook extension jupyter-js-widgets/extension... - Validating: OK > npm pack @jupyter-widgets/jupyterlab-manager jupyter-widgets-jupyterlab-manager-0.27.0.tgz > node node-version-check.js > npm install npm WARN prefer global marked@0.3.6 should be installed with -g > canvas@1.6.7 install /opt/conda/share/jupyter/lab/staging/node_modules/canvas > node-gyp rebuild make: Entering directory '/opt/conda/share/jupyter/lab/staging/node_modules/canvas/build' SOLINK_MODULE(target) Release/obj.target/canvas-postbuild.node COPY Release/canvas-postbuild.node CXX(target) Release/obj.target/canvas/src/Canvas.o CXX(target) Release/obj.target/canvas/src/CanvasGradient.o CXX(target) Release/obj.target/canvas/src/CanvasPattern.o CXX(target) Release/obj.target/canvas/src/CanvasRenderingContext2d.o CXX(target) Release/obj.target/canvas/src/color.o CXX(target) Release/obj.target/canvas/src/Image.o CXX(target) Release/obj.target/canvas/src/ImageData.o CXX(target) Release/obj.target/canvas/src/init.o CXX(target) Release/obj.target/canvas/src/FontFace.o SOLINK_MODULE(target) Release/obj.target/canvas.node COPY Release/canvas.node make: Leaving directory '/opt/conda/share/jupyter/lab/staging/node_modules/canvas/build' > spawn-sync@1.0.15 postinstall /opt/conda/share/jupyter/lab/staging/node_modules/spawn-sync > node postinstall @jupyterlab/application-top@0.10.2 /opt/conda/share/jupyter/lab/staging ├─┬ @jupyter-widgets/jupyterlab-manager@0.27.0 │ ├─┬ @jupyter-widgets/base@1.0.1 │ │ ├── @jupyter-widgets/schema@0.3.0 │ │ ├─┬ @types/backbone@1.3.36 │ │ │ ├── @types/jquery@3.2.12 │ │ │ └── @types/underscore@1.8.3 │ │ ├── @types/lodash@4.14.74 │ │ ├── @types/semver@5.4.0 │ │ ├── backbone@1.2.3 │ │ ├── jquery@3.2.1 │ │ ├── lodash@4.17.4 │ │ └── semver@5.4.1 │ ├─┬ @jupyter-widgets/controls@1.0.1 │ │ ├── d3-format@0.5.1 │ │ ├── jquery-ui@1.12.1 │ │ └── underscore@1.8.3 │ └── @jupyter-widgets/output@1.0.1 ├─┬ @jupyterlab/application@0.10.0 │ ├── @phosphor/application@1.5.0 │ └── @phosphor/properties@1.1.2 ├── @jupyterlab/application-extension@0.10.0 ├─┬ @jupyterlab/apputils@0.10.0 │ ├── @phosphor/domutils@1.1.2 │ └─┬ sanitize-html@1.14.1 │ ├─┬ htmlparser2@3.9.2 │ │ ├── domelementtype@1.3.0 │ │ ├── domhandler@2.4.1 │ │ ├─┬ domutils@1.6.2 │ │ │ └─┬ dom-serializer@0.1.0 │ │ │ └── domelementtype@1.1.3 │ │ └── entities@1.1.1 │ ├── regexp-quote@0.0.0 │ └── xtend@4.0.1 ├── @jupyterlab/apputils-extension@0.10.2 ├── @jupyterlab/cells@0.10.0 ├── @jupyterlab/codeeditor@0.10.0 ├─┬ @jupyterlab/codemirror@0.10.0 │ └── codemirror@5.29.0 ├── @jupyterlab/codemirror-extension@0.10.0 ├── @jupyterlab/completer@0.10.0 ├── @jupyterlab/completer-extension@0.10.0 ├── @jupyterlab/console@0.10.0 ├── @jupyterlab/console-extension@0.10.0 ├─┬ @jupyterlab/coreutils@0.10.0 │ ├─┬ ajv@5.2.2 │ │ ├── co@4.6.0 │ │ ├── fast-deep-equal@1.0.0 │ │ └── json-schema-traverse@0.3.1 │ ├── minimist@1.2.0 │ ├── moment@2.18.1 │ ├── path-posix@1.0.0 │ └─┬ url-parse@1.1.9 │ ├── querystringify@1.0.0 │ └── requires-port@1.0.0 ├─┬ @jupyterlab/csvviewer@0.10.0 │ ├── @phosphor/datagrid@0.1.5 │ └─┬ d3-dsv@1.0.7 │ ├── commander@2.11.0 │ ├── iconv-lite@0.4.19 │ └── rw@1.3.3 ├── @jupyterlab/csvviewer-extension@0.10.0 ├── @jupyterlab/docmanager@0.10.0 ├── @jupyterlab/docmanager-extension@0.10.0 ├── @jupyterlab/docregistry@0.10.0 ├── @jupyterlab/faq-extension@0.10.0 ├─┬ @jupyterlab/filebrowser@0.10.0 │ └── @phosphor/dragdrop@1.3.0 ├── @jupyterlab/filebrowser-extension@0.10.0 ├── @jupyterlab/fileeditor@0.10.0 ├── @jupyterlab/fileeditor-extension@0.10.0 ├── @jupyterlab/help-extension@0.10.0 ├── @jupyterlab/imageviewer@0.10.0 ├── @jupyterlab/imageviewer-extension@0.10.0 ├── @jupyterlab/inspector@0.10.0 ├── @jupyterlab/inspector-extension@0.10.0 ├── @jupyterlab/launcher@0.10.0 ├── @jupyterlab/launcher-extension@0.10.0 ├── @jupyterlab/markdownviewer-extension@0.10.0 ├── @jupyterlab/notebook@0.10.0 ├── @jupyterlab/notebook-extension@0.10.0 ├── @jupyterlab/outputarea@0.10.0 ├── @jupyterlab/pdf-extension@0.2.0 ├─┬ @jupyterlab/rendermime@0.10.0 │ ├── ansi_up@1.3.0 │ └── marked@0.3.6 ├── @jupyterlab/rendermime-interfaces@0.3.1 ├── @jupyterlab/running@0.10.0 ├── @jupyterlab/running-extension@0.10.0 ├── @jupyterlab/services@0.49.0 ├── @jupyterlab/settingeditor-extension@0.5.0 ├── @jupyterlab/shortcuts-extension@0.10.0 ├── @jupyterlab/tabmanager-extension@0.10.0 ├─┬ @jupyterlab/terminal@0.10.0 │ └── xterm@2.8.1 ├── @jupyterlab/terminal-extension@0.10.0 ├── @jupyterlab/theme-dark-extension@0.10.0 ├── @jupyterlab/theme-light-extension@0.10.0 ├── @jupyterlab/tooltip@0.10.0 ├── @jupyterlab/tooltip-extension@0.10.0 ├── @jupyterlab/vega2-extension@0.10.0 ├── @phosphor/algorithm@1.1.2 ├─┬ @phosphor/commands@1.4.0 │ └── @phosphor/keyboard@1.1.2 ├── @phosphor/coreutils@1.3.0 ├── @phosphor/disposable@1.1.2 ├─┬ @phosphor/messaging@1.2.2 │ └── @phosphor/collections@1.1.2 ├── @phosphor/signaling@1.2.2 ├── @phosphor/virtualdom@1.1.2 ├── @phosphor/widgets@1.5.0 ├─┬ css-loader@0.27.3 │ ├─┬ babel-code-frame@6.26.0 │ │ ├─┬ chalk@1.1.3 │ │ │ ├── ansi-styles@2.2.1 │ │ │ ├── escape-string-regexp@1.0.5 │ │ │ ├─┬ has-ansi@2.0.0 │ │ │ │ └── ansi-regex@2.1.1 │ │ │ ├── strip-ansi@3.0.1 │ │ │ └── supports-color@2.0.0 │ │ ├── esutils@2.0.2 │ │ └── js-tokens@3.0.2 │ ├─┬ css-selector-tokenizer@0.7.0 │ │ ├── cssesc@0.1.0 │ │ ├── fastparse@1.1.1 │ │ └─┬ regexpu-core@1.0.0 │ │ ├── regenerate@1.3.2 │ │ ├── regjsgen@0.2.0 │ │ └─┬ regjsparser@0.1.5 │ │ └── jsesc@0.5.0 │ ├─┬ cssnano@3.10.0 │ │ ├─┬ autoprefixer@6.7.7 │ │ │ ├─┬ browserslist@1.7.7 │ │ │ │ └── electron-to-chromium@1.3.21 │ │ │ ├── caniuse-db@1.0.30000727 │ │ │ ├── normalize-range@0.1.2 │ │ │ └── num2fraction@1.2.2 │ │ ├── decamelize@1.2.0 │ │ ├── defined@1.0.0 │ │ ├─┬ has@1.0.1 │ │ │ └── function-bind@1.1.1 │ │ ├─┬ postcss-calc@5.3.1 │ │ │ ├── postcss-message-helpers@2.0.0 │ │ │ └─┬ reduce-css-calc@1.3.0 │ │ │ ├── balanced-match@0.4.2 │ │ │ ├── math-expression-evaluator@1.2.17 │ │ │ └── reduce-function-call@1.0.2 │ │ ├─┬ postcss-colormin@2.2.2 │ │ │ └─┬ colormin@1.1.2 │ │ │ ├─┬ color@0.11.4 │ │ │ │ ├── clone@1.0.2 │ │ │ │ ├─┬ color-convert@1.9.0 │ │ │ │ │ └── color-name@1.1.3 │ │ │ │ └── color-string@0.3.0 │ │ │ └── css-color-names@0.0.4 │ │ ├── postcss-convert-values@2.6.1 │ │ ├── postcss-discard-comments@2.0.4 │ │ ├── postcss-discard-duplicates@2.1.0 │ │ ├── postcss-discard-empty@2.1.0 │ │ ├── postcss-discard-overridden@0.1.1 │ │ ├─┬ postcss-discard-unused@2.2.3 │ │ │ └── uniqs@2.0.0 │ │ ├─┬ postcss-filter-plugins@2.0.2 │ │ │ └─┬ uniqid@4.1.1 │ │ │ └── macaddress@0.2.8 │ │ ├── postcss-merge-idents@2.1.7 │ │ ├── postcss-merge-longhand@2.0.2 │ │ ├─┬ postcss-merge-rules@2.1.2 │ │ │ ├─┬ caniuse-api@1.6.1 │ │ │ │ ├── lodash.memoize@4.1.2 │ │ │ │ └── lodash.uniq@4.5.0 │ │ │ ├─┬ postcss-selector-parser@2.2.3 │ │ │ │ ├── flatten@1.0.2 │ │ │ │ ├── indexes-of@1.0.1 │ │ │ │ └── uniq@1.0.1 │ │ │ └── vendors@1.0.1 │ │ ├── postcss-minify-font-values@1.0.5 │ │ ├── postcss-minify-gradients@1.0.5 │ │ ├─┬ postcss-minify-params@1.2.2 │ │ │ └── alphanum-sort@1.0.2 │ │ ├── postcss-minify-selectors@2.1.1 │ │ ├── postcss-normalize-charset@1.1.1 │ │ ├─┬ postcss-normalize-url@3.0.8 │ │ │ ├── is-absolute-url@2.1.0 │ │ │ └─┬ normalize-url@1.9.1 │ │ │ ├── prepend-http@1.0.4 │ │ │ ├─┬ query-string@4.3.4 │ │ │ │ └── strict-uri-encode@1.1.0 │ │ │ └─┬ sort-keys@1.1.2 │ │ │ └── is-plain-obj@1.1.0 │ │ ├── postcss-ordered-values@2.2.3 │ │ ├── postcss-reduce-idents@2.4.0 │ │ ├── postcss-reduce-initial@1.0.1 │ │ ├── postcss-reduce-transforms@1.0.4 │ │ ├─┬ postcss-svgo@2.1.6 │ │ │ ├─┬ is-svg@2.1.0 │ │ │ │ └── html-comment-regex@1.1.1 │ │ │ └─┬ svgo@0.7.2 │ │ │ ├─┬ coa@1.0.4 │ │ │ │ └── q@1.5.0 │ │ │ ├── colors@1.1.2 │ │ │ ├─┬ csso@2.3.2 │ │ │ │ ├── clap@1.2.0 │ │ │ │ └── source-map@0.5.7 │ │ │ ├─┬ js-yaml@3.7.0 │ │ │ │ ├─┬ argparse@1.0.9 │ │ │ │ │ └── sprintf-js@1.0.3 │ │ │ │ └── esprima@2.7.3 │ │ │ ├── sax@1.2.4 │ │ │ └── whet.extend@0.9.9 │ │ ├── postcss-unique-selectors@2.0.2 │ │ ├── postcss-value-parser@3.3.0 │ │ └── postcss-zindex@2.2.0 │ ├─┬ loader-utils@1.1.0 │ │ ├── big.js@3.1.3 │ │ └── emojis-list@2.1.0 │ ├── lodash.camelcase@4.3.0 │ ├── object-assign@4.1.1 │ ├─┬ postcss@5.2.17 │ │ ├── js-base64@2.3.1 │ │ ├── source-map@0.5.7 │ │ └── supports-color@3.2.3 │ ├─┬ postcss-modules-extract-imports@1.1.0 │ │ └─┬ postcss@6.0.11 │ │ ├─┬ chalk@2.1.0 │ │ │ └── ansi-styles@3.2.0 │ │ ├── source-map@0.5.7 │ │ └─┬ supports-color@4.4.0 │ │ └── has-flag@2.0.0 │ ├─┬ postcss-modules-local-by-default@1.2.0 │ │ └─┬ postcss@6.0.11 │ │ ├─┬ chalk@2.1.0 │ │ │ └── ansi-styles@3.2.0 │ │ ├── source-map@0.5.7 │ │ └─┬ supports-color@4.4.0 │ │ └── has-flag@2.0.0 │ ├─┬ postcss-modules-scope@1.1.0 │ │ └─┬ postcss@6.0.11 │ │ ├─┬ chalk@2.1.0 │ │ │ └── ansi-styles@3.2.0 │ │ ├── source-map@0.5.7 │ │ └─┬ supports-color@4.4.0 │ │ └── has-flag@2.0.0 │ ├─┬ postcss-modules-values@1.3.0 │ │ ├── icss-replace-symbols@1.1.0 │ │ └─┬ postcss@6.0.11 │ │ ├─┬ chalk@2.1.0 │ │ │ └── ansi-styles@3.2.0 │ │ ├── source-map@0.5.7 │ │ └─┬ supports-color@4.4.0 │ │ └── has-flag@2.0.0 │ └── source-list-map@0.1.8 ├── d3@3.5.17 ├── es6-promise@4.1.1 ├── file-loader@0.10.1 ├── font-awesome@4.7.0 ├─┬ fs-extra@2.1.2 │ ├── graceful-fs@4.1.11 │ └── jsonfile@2.4.0 ├─┬ glob@7.1.2 │ ├── fs.realpath@1.0.0 │ ├─┬ inflight@1.0.6 │ │ └── wrappy@1.0.2 │ ├── inherits@2.0.3 │ ├─┬ minimatch@3.0.4 │ │ └─┬ brace-expansion@1.1.8 │ │ ├── balanced-match@1.0.0 │ │ └── concat-map@0.0.1 │ ├── once@1.4.0 │ └── path-is-absolute@1.0.1 ├─┬ handlebars@4.0.10 │ ├── async@1.5.2 │ ├─┬ optimist@0.6.1 │ │ ├── minimist@0.0.10 │ │ └── wordwrap@0.0.3 │ ├─┬ source-map@0.4.4 │ │ └── amdefine@1.0.1 │ └─┬ uglify-js@2.8.29 │ ├── source-map@0.5.7 │ ├── uglify-to-browserify@1.0.2 │ └─┬ yargs@3.10.0 │ ├── camelcase@1.2.1 │ ├─┬ cliui@2.1.0 │ │ ├─┬ center-align@0.1.3 │ │ │ ├─┬ align-text@0.1.4 │ │ │ │ ├── longest@1.0.1 │ │ │ │ └── repeat-string@1.6.1 │ │ │ └── lazy-cache@1.0.4 │ │ ├── right-align@0.1.3 │ │ └── wordwrap@0.0.2 │ └── window-size@0.1.0 ├── json-loader@0.5.7 ├── raw-loader@0.5.1 ├─┬ sort-package-json@1.7.1 │ └── sort-object-keys@1.1.2 ├── style-loader@0.13.2 ├─┬ url-loader@0.5.9 │ └── mime@1.3.6 ├─┬ vega@2.6.5 │ ├─┬ canvas@1.6.7 │ │ ├── nan@2.7.0 │ │ ├─┬ parse-css-font@2.0.2 │ │ │ ├── css-font-size-keywords@1.0.0 │ │ │ ├── css-font-stretch-keywords@1.0.1 │ │ │ ├── css-font-style-keywords@1.0.1 │ │ │ ├── css-font-weight-keywords@1.0.0 │ │ │ ├── css-global-keywords@1.0.1 │ │ │ ├── css-list-helpers@1.0.1 │ │ │ ├── css-system-font-keywords@1.0.0 │ │ │ ├── tcomb@2.7.0 │ │ │ └── unquote@1.1.0 │ │ └─┬ units-css@0.4.0 │ │ ├── isnumeric@0.2.0 │ │ └── viewport-dimensions@0.2.0 │ ├─┬ d3-cloud@1.2.4 │ │ └── d3-dispatch@1.0.3 │ ├─┬ d3-geo-projection@0.2.16 │ │ └─┬ brfs@1.4.3 │ │ ├─┬ quote-stream@1.0.2 │ │ │ └── buffer-equal@0.0.1 │ │ ├─┬ resolve@1.4.0 │ │ │ └── path-parse@1.0.5 │ │ ├─┬ static-module@1.5.0 │ │ │ ├─┬ duplexer2@0.0.2 │ │ │ │ └─┬ readable-stream@1.1.14 │ │ │ │ ├── isarray@0.0.1 │ │ │ │ └── string_decoder@0.10.31 │ │ │ ├─┬ escodegen@1.3.3 │ │ │ │ ├── esprima@1.1.1 │ │ │ │ ├── estraverse@1.5.1 │ │ │ │ ├── esutils@1.0.0 │ │ │ │ └── source-map@0.1.43 │ │ │ ├─┬ falafel@2.1.0 │ │ │ │ ├── foreach@2.0.5 │ │ │ │ ├── isarray@0.0.1 │ │ │ │ └── object-keys@1.0.11 │ │ │ ├── object-inspect@0.4.0 │ │ │ ├─┬ quote-stream@0.0.0 │ │ │ │ └── minimist@0.0.8 │ │ │ ├─┬ readable-stream@1.0.34 │ │ │ │ ├── isarray@0.0.1 │ │ │ │ └── string_decoder@0.10.31 │ │ │ ├── shallow-copy@0.0.1 │ │ │ ├─┬ static-eval@0.2.4 │ │ │ │ └─┬ escodegen@0.0.28 │ │ │ │ ├── esprima@1.0.4 │ │ │ │ └── estraverse@1.3.2 │ │ │ └─┬ through2@0.4.2 │ │ │ └─┬ xtend@2.1.2 │ │ │ └── object-keys@0.4.0 │ │ └── through2@2.0.3 │ ├─┬ datalib@1.8.0 │ │ ├── d3-dsv@0.1.14 │ │ ├── d3-format@0.4.2 │ │ ├── d3-time@0.1.1 │ │ ├── d3-time-format@0.2.1 │ │ ├─┬ request@2.81.0 │ │ │ ├── aws-sign2@0.6.0 │ │ │ ├── aws4@1.6.0 │ │ │ ├── caseless@0.12.0 │ │ │ ├─┬ combined-stream@1.0.5 │ │ │ │ └── delayed-stream@1.0.0 │ │ │ ├── extend@3.0.1 │ │ │ ├── forever-agent@0.6.1 │ │ │ ├─┬ form-data@2.1.4 │ │ │ │ └── asynckit@0.4.0 │ │ │ ├─┬ har-validator@4.2.1 │ │ │ │ ├── ajv@4.11.8 │ │ │ │ └── har-schema@1.0.5 │ │ │ ├─┬ hawk@3.1.3 │ │ │ │ ├── boom@2.10.1 │ │ │ │ ├── cryptiles@2.0.5 │ │ │ │ ├── hoek@2.16.3 │ │ │ │ └── sntp@1.0.9 │ │ │ ├─┬ http-signature@1.1.1 │ │ │ │ ├── assert-plus@0.2.0 │ │ │ │ ├─┬ jsprim@1.4.1 │ │ │ │ │ ├── assert-plus@1.0.0 │ │ │ │ │ ├── extsprintf@1.3.0 │ │ │ │ │ ├── json-schema@0.2.3 │ │ │ │ │ └─┬ verror@1.10.0 │ │ │ │ │ └── assert-plus@1.0.0 │ │ │ │ └─┬ sshpk@1.13.1 │ │ │ │ ├── asn1@0.2.3 │ │ │ │ ├── assert-plus@1.0.0 │ │ │ │ ├── bcrypt-pbkdf@1.0.1 │ │ │ │ ├─┬ dashdash@1.14.1 │ │ │ │ │ └── assert-plus@1.0.0 │ │ │ │ ├── ecc-jsbn@0.1.1 │ │ │ │ ├─┬ getpass@0.1.7 │ │ │ │ │ └── assert-plus@1.0.0 │ │ │ │ ├── jsbn@0.1.1 │ │ │ │ └── tweetnacl@0.14.5 │ │ │ ├── is-typedarray@1.0.0 │ │ │ ├── isstream@0.1.2 │ │ │ ├── json-stringify-safe@5.0.1 │ │ │ ├─┬ mime-types@2.1.17 │ │ │ │ └── mime-db@1.30.0 │ │ │ ├── oauth-sign@0.8.2 │ │ │ ├── performance-now@0.2.0 │ │ │ ├── qs@6.4.0 │ │ │ ├── safe-buffer@5.1.1 │ │ │ ├── stringstream@0.0.5 │ │ │ ├── tough-cookie@2.3.2 │ │ │ ├── tunnel-agent@0.6.0 │ │ │ └── uuid@3.1.0 │ │ └─┬ sync-request@2.2.0 │ │ ├─┬ concat-stream@1.6.0 │ │ │ └── typedarray@0.0.6 │ │ ├── http-response-object@1.1.0 │ │ ├─┬ spawn-sync@1.0.15 │ │ │ └── os-shim@0.1.3 │ │ └─┬ then-request@2.2.0 │ │ ├── caseless@0.11.0 │ │ ├─┬ http-basic@2.5.1 │ │ │ └── caseless@0.11.0 │ │ └─┬ promise@7.3.1 │ │ └── asap@2.0.6 │ ├─┬ topojson@1.6.27 │ │ ├── d3-queue@2.0.3 │ │ ├── optimist@0.3.7 │ │ └─┬ shapefile@0.3.1 │ │ ├── d3-queue@1.2.3 │ │ └── iconv-lite@0.2.11 │ ├── vega-dataflow@1.4.3 │ ├── vega-event-selector@1.1.0 │ ├── vega-expression@1.2.1 │ ├── vega-logging@1.0.2 │ ├── vega-scenegraph@1.1.0 │ └─┬ yargs@3.32.0 │ ├── camelcase@2.1.1 │ ├─┬ cliui@3.2.0 │ │ └── wrap-ansi@2.1.0 │ ├─┬ os-locale@1.4.0 │ │ └─┬ lcid@1.0.0 │ │ └── invert-kv@1.0.0 │ ├─┬ string-width@1.0.2 │ │ ├── code-point-at@1.1.0 │ │ └─┬ is-fullwidth-code-point@1.0.0 │ │ └── number-is-nan@1.0.1 │ ├── window-size@0.1.4 │ └── y18n@3.2.1 ├── vega-embed@2.2.0 ├─┬ vega-lite@1.3.1 │ ├─┬ datalib@1.7.3 │ │ ├── d3-dsv@0.1.14 │ │ └── d3-format@0.4.2 │ ├─┬ json-stable-stringify@1.0.1 │ │ └── jsonify@0.0.0 │ └─┬ yargs@6.3.0 │ ├── camelcase@3.0.0 │ ├── get-caller-file@1.0.2 │ ├─┬ read-pkg-up@1.0.1 │ │ ├─┬ find-up@1.1.2 │ │ │ ├── path-exists@2.1.0 │ │ │ └─┬ pinkie-promise@2.0.1 │ │ │ └── pinkie@2.0.4 │ │ └─┬ read-pkg@1.1.0 │ │ ├─┬ load-json-file@1.1.0 │ │ │ ├─┬ parse-json@2.2.0 │ │ │ │ └─┬ error-ex@1.3.1 │ │ │ │ └── is-arrayish@0.2.1 │ │ │ ├── pify@2.3.0 │ │ │ └─┬ strip-bom@2.0.0 │ │ │ └── is-utf8@0.2.1 │ │ ├─┬ normalize-package-data@2.4.0 │ │ │ ├── hosted-git-info@2.5.0 │ │ │ ├─┬ is-builtin-module@1.0.0 │ │ │ │ └── builtin-modules@1.1.1 │ │ │ └─┬ validate-npm-package-license@3.0.1 │ │ │ ├─┬ spdx-correct@1.0.2 │ │ │ │ └── spdx-license-ids@1.2.2 │ │ │ └── spdx-expression-parse@1.0.4 │ │ └── path-type@1.1.0 │ ├── require-directory@2.1.1 │ ├── require-main-filename@1.0.1 │ ├── set-blocking@2.0.0 │ ├── which-module@1.0.0 │ ├── window-size@0.2.0 │ └─┬ yargs-parser@4.2.1 │ └── camelcase@3.0.0 └─┬ webpack@2.7.0 ├── acorn@5.1.2 ├─┬ acorn-dynamic-import@2.0.2 │ └── acorn@4.0.13 ├── ajv@4.11.8 ├── ajv-keywords@1.5.1 ├── async@2.5.0 ├── enhanced-resolve@3.4.1 ├── interpret@1.0.3 ├── json5@0.5.1 ├── loader-runner@2.3.0 ├── loader-utils@0.2.17 ├─┬ memory-fs@0.4.1 │ ├─┬ errno@0.1.4 │ │ └── prr@0.0.0 │ └─┬ readable-stream@2.3.3 │ ├── core-util-is@1.0.2 │ ├── isarray@1.0.0 │ ├── process-nextick-args@1.0.7 │ ├── string_decoder@1.0.3 │ └── util-deprecate@1.0.2 ├─┬ mkdirp@0.5.1 │ └── minimist@0.0.8 ├─┬ node-libs-browser@2.0.0 │ ├── assert@1.4.1 │ ├─┬ browserify-zlib@0.1.4 │ │ └── pako@0.2.9 │ ├─┬ buffer@4.9.1 │ │ ├── base64-js@1.2.1 │ │ └── ieee754@1.1.8 │ ├─┬ console-browserify@1.1.0 │ │ └── date-now@0.1.4 │ ├── constants-browserify@1.0.0 │ ├─┬ crypto-browserify@3.11.1 │ │ ├─┬ browserify-cipher@1.0.0 │ │ │ ├─┬ browserify-aes@1.0.8 │ │ │ │ └── buffer-xor@1.0.3 │ │ │ ├─┬ browserify-des@1.0.0 │ │ │ │ └── des.js@1.0.0 │ │ │ └─┬ evp_bytestokey@1.0.3 │ │ │ └─┬ md5.js@1.3.4 │ │ │ └── hash-base@3.0.4 │ │ ├─┬ browserify-sign@4.0.4 │ │ │ ├── bn.js@4.11.8 │ │ │ ├── browserify-rsa@4.0.1 │ │ │ ├─┬ elliptic@6.4.0 │ │ │ │ ├── brorand@1.1.0 │ │ │ │ ├── hash.js@1.1.3 │ │ │ │ ├── hmac-drbg@1.0.1 │ │ │ │ ├── minimalistic-assert@1.0.0 │ │ │ │ └── minimalistic-crypto-utils@1.0.1 │ │ │ └─┬ parse-asn1@5.1.0 │ │ │ └── asn1.js@4.9.1 │ │ ├── create-ecdh@4.0.0 │ │ ├─┬ create-hash@1.1.3 │ │ │ ├── cipher-base@1.0.4 │ │ │ ├─┬ ripemd160@2.0.1 │ │ │ │ └── hash-base@2.0.2 │ │ │ └── sha.js@2.4.8 │ │ ├── create-hmac@1.1.6 │ │ ├─┬ diffie-hellman@5.0.2 │ │ │ └── miller-rabin@4.0.0 │ │ ├── pbkdf2@3.0.14 │ │ ├── public-encrypt@4.0.0 │ │ └── randombytes@2.0.5 │ ├── domain-browser@1.1.7 │ ├── events@1.1.1 │ ├── https-browserify@0.0.1 │ ├── os-browserify@0.2.1 │ ├── path-browserify@0.0.0 │ ├── process@0.11.10 │ ├── punycode@1.4.1 │ ├── querystring-es3@0.2.1 │ ├── stream-browserify@2.0.1 │ ├─┬ stream-http@2.7.2 │ │ ├── builtin-status-codes@3.0.0 │ │ └── to-arraybuffer@1.0.1 │ ├── string_decoder@0.10.31 │ ├─┬ timers-browserify@2.0.4 │ │ └── setimmediate@1.0.5 │ ├── tty-browserify@0.0.0 │ ├─┬ url@0.11.0 │ │ ├── punycode@1.3.2 │ │ └── querystring@0.2.0 │ ├─┬ util@0.10.3 │ │ └── inherits@2.0.1 │ └─┬ vm-browserify@0.0.4 │ └── indexof@0.0.1 ├── source-map@0.5.7 ├─┬ supports-color@3.2.3 │ └── has-flag@1.0.0 ├── tapable@0.2.8 ├─┬ watchpack@1.4.0 │ ├── async@2.5.0 │ └─┬ chokidar@1.7.0 │ ├─┬ anymatch@1.3.2 │ │ ├─┬ micromatch@2.3.11 │ │ │ ├─┬ arr-diff@2.0.0 │ │ │ │ └── arr-flatten@1.1.0 │ │ │ ├── array-unique@0.2.1 │ │ │ ├─┬ braces@1.8.5 │ │ │ │ ├─┬ expand-range@1.8.2 │ │ │ │ │ └─┬ fill-range@2.2.3 │ │ │ │ │ ├── is-number@2.1.0 │ │ │ │ │ ├── isobject@2.1.0 │ │ │ │ │ └─┬ randomatic@1.1.7 │ │ │ │ │ ├─┬ is-number@3.0.0 │ │ │ │ │ │ └── kind-of@3.2.2 │ │ │ │ │ └── kind-of@4.0.0 │ │ │ │ ├── preserve@0.2.0 │ │ │ │ └── repeat-element@1.1.2 │ │ │ ├─┬ expand-brackets@0.1.5 │ │ │ │ └── is-posix-bracket@0.1.1 │ │ │ ├── extglob@0.3.2 │ │ │ ├── filename-regex@2.0.1 │ │ │ ├─┬ kind-of@3.2.2 │ │ │ │ └── is-buffer@1.1.5 │ │ │ ├─┬ object.omit@2.0.1 │ │ │ │ ├─┬ for-own@0.1.5 │ │ │ │ │ └── for-in@1.0.2 │ │ │ │ └── is-extendable@0.1.1 │ │ │ ├─┬ parse-glob@3.0.4 │ │ │ │ ├── glob-base@0.3.0 │ │ │ │ └── is-dotfile@1.0.3 │ │ │ └─┬ regex-cache@0.4.4 │ │ │ └─┬ is-equal-shallow@0.1.3 │ │ │ └── is-primitive@2.0.0 │ │ └─┬ normalize-path@2.1.1 │ │ └── remove-trailing-separator@1.1.0 │ ├── async-each@1.0.1 │ ├── glob-parent@2.0.0 │ ├─┬ is-binary-path@1.0.1 │ │ └── binary-extensions@1.10.0 │ ├─┬ is-glob@2.0.1 │ │ └── is-extglob@1.0.0 │ └─┬ readdirp@2.1.0 │ └── set-immediate-shim@1.0.1 ├─┬ webpack-sources@1.0.1 │ ├── source-list-map@2.0.0 │ └── source-map@0.5.7 └─┬ yargs@6.6.0 └── camelcase@3.0.0 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) > npm run build > @jupyterlab/application-top@0.10.2 build /opt/conda/share/jupyter/lab/staging > webpack Hash: 88f763e037a743abd8d7 Version: webpack 2.7.0 Time: 9119ms Asset Size Chunks Chunk Names 674f50d287a8c48dc19ba404d20fe713.eot 166 kB [emitted] af7ae505a9eed503f8b8e6982036873e.woff2 77.2 kB [emitted] fee66e712a8a08eef5805a46892932ad.woff 98 kB [emitted] b06871f281fee6b241d60582ae9369b9.ttf 166 kB [emitted] 912ec66d7572ff821749319396470bde.svg 444 kB [emitted] [big] 0.bundle.js 893 kB 0 [emitted] [big] main.bundle.js 8.29 MB 1 [emitted] [big] main 0.bundle.js.map 1.08 MB 0 [emitted] main.bundle.js.map 9.96 MB 1 [emitted] main [6] ./~/@jupyterlab/coreutils/lib/index.js 870 bytes {1} [built] [27] ./~/@jupyterlab/application/lib/index.js 5.48 kB {1} [built] [453] ./~/@jupyterlab/application-extension/lib/index.js 6.12 kB {1} [optional] [built] [454] ./~/@jupyterlab/apputils-extension/lib/index.js 7.91 kB {1} [optional] [built] [455] ./~/@jupyterlab/codemirror-extension/lib/index.js 10.5 kB {1} [optional] [built] [456] ./~/@jupyterlab/completer-extension/lib/index.js 7.09 kB {1} [optional] [built] [457] ./~/@jupyterlab/console-extension/lib/index.js 12.5 kB {1} [optional] [built] [458] ./~/@jupyterlab/csvviewer-extension/lib/index.js 1.79 kB {1} [optional] [built] [459] ./~/@jupyterlab/docmanager-extension/lib/index.js 10.1 kB {1} [optional] [built] [460] ./~/@jupyterlab/faq-extension/lib/index.js 3.78 kB {1} [optional] [built] [461] ./~/@jupyterlab/filebrowser-extension/lib/index.js 11.9 kB {1} [optional] [built] [462] ./~/@jupyterlab/fileeditor-extension/lib/index.js 11.8 kB {1} [optional] [built] [463] ./~/@jupyterlab/help-extension/lib/index.js 8.84 kB {1} [optional] [built] [464] ./~/@jupyterlab/imageviewer-extension/lib/index.js 4.25 kB {1} [optional] [built] [494] ./build/index.out.js 8.38 kB {1} [built] + 1180 hidden modules ---> 624ebde886c5 Removing intermediate container 1609b7ec6f8b Step 6/6 : USER $NB_USER ---> Running in fe5368f9bee1 ---> 5592d1e1816d Removing intermediate container fe5368f9bee1 Successfully built 5592d1e1816d Successfully tagged test-pkg-config:latest
docker run -it -p 8888:8888 --rm test-pkg-config:latest start.sh jupyter lab Execute the command: jupyter lab [I 18:58:40.977 LabApp] Writing notebook server cookie secret to /home/jovyan/.local/share/jupyter/runtime/notebook_cookie_secret [W 18:58:40.998 LabApp] WARNING: The notebook server is listening on all IP addresses and not using encryption. This is not recommended. [I 18:58:41.005 LabApp] JupyterLab alpha preview extension loaded from /opt/conda/lib/python3.6/site-packages/jupyterlab JupyterLab v0.27.0 Known labextensions: app dir: /opt/conda/share/jupyter/lab @jupyter-widgets/jupyterlab-manager@0.27.0 enabled OK [I 18:58:41.014 LabApp] Serving notebooks from local directory: /home/jovyan [I 18:58:41.014 LabApp] 0 active kernels [I 18:58:41.015 LabApp] The Jupyter Notebook is running at: http://[all ip addresses on your system]:8888/?token=5acd43247e7f9f2cc373b6c976e7cfbf553a95ffce4155b8 [I 18:58:41.015 LabApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). [C 18:58:41.016 LabApp] Copy/paste this URL into your browser when you connect for the first time, to login with a token: http://localhost:8888/?token=5acd43247e7f9f2cc373b6c976e7cfbf553a95ffce4155b8

Results

import ipywidgets
ipywidgets.IntSlider()

image

jasongrout commented 7 years ago

Hooray!

I'm leaving this issue open, assuming that you will want to do something to address the "hole in our logic".

We should open an issue in JupyterLab, then, and close this issue in jupyter widgets.

jasongrout commented 7 years ago

Good catch, Steve!

blink1073 commented 7 years ago

Done: https://github.com/jupyterlab/jupyterlab/issues/2987

jasongrout commented 7 years ago

Thanks!