Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Jupyter Labs? #374

Closed
vsoch opened this issue Aug 11, 2018 · 41 comments
Closed

Jupyter Labs? #374

vsoch opened this issue Aug 11, 2018 · 41 comments

Comments

@vsoch
Copy link
Contributor

vsoch commented Aug 11, 2018

hey repo2docker!

Is there an equivalent pipeline for Jupyter Labs? Eg., the family here --> https://github.com/jupyterlab
It would be amazing to have an equivalent repo2docker for a Jupyter Lab, and then a builder of course too!

@choldgraf
Copy link
Member

does https://github.com/binder-examples/jupyterlab work for you?

@vsoch
Copy link
Contributor Author

vsoch commented Aug 11, 2018

haha :)

It might be a struggle, but like Tim Gunn, I'll "Make it Work!" :P It is ok if I leave this issue open while I mess around? I might not get to this until later this weekend!

@vsoch
Copy link
Contributor Author

vsoch commented Aug 11, 2018

Oh, and the part about it being a struggle was a joke, this is amazing and exactly what I was hoping for (that my search skills obviously failed me to find)!

@choldgraf
Copy link
Member

no problemo - feel free to keep it open! If there are ways you think we could make the docs more discoverable, please let us know!

@vsoch
Copy link
Contributor Author

vsoch commented Aug 11, 2018

heyo! I'm close! Where do I update this extension?

 ---> Running in 0e9ed56fc33d
> /usr/bin/npm pack @jupyterlab/geojson-extension
jupyterlab-geojson-extension-0.17.0.tgz

"@jupyterlab/geojson-extension@0.17.0" is not compatible with the current JupyterLab
Conflicting Dependencies:
JupyterLab                        Extension          Package
>=0.4.3-0 <0.5.0-0                >=1.1.2-0 <2.0.0-0 @jupyterlab/rendermime-interfaces

I don't see versions for it in postBuild or requirements.txt:

traitlets>=4.3.1
ipython
pandas
vdom
jupyterlab_launcher>=0.5.0
#!/bin/bash

# Install a JupyterLab extension for demonstration purposes
jupyter labextension install @jupyterlab/geojson-extension jupyterlab-drawio

It mentions updating via the package.json / npm, is this a part of repo2docker? Here is an example with jupyterlab-git --> jupyterlab/jupyterlab-git#188

@vsoch
Copy link
Contributor Author

vsoch commented Aug 11, 2018

I'm trying a few things:

install version 0.0.16

didn't work, same error as before

install from source

It doesn't seem to work but then the build continues - is this a bug?

The same happens for the drawio, and I'm starting to think this is a little trip down into npm dependency hell, hehe. Here is some output from the link above for quick reference:

 ---> Running in a94d378da387
> /usr/bin/npm pack jupyterlab-drawio
jupyterlab-drawio-0.2.0.tgz

"jupyterlab-drawio@0.2.0" is not compatible with the current JupyterLab
Conflicting Dependencies:
JupyterLab              Extension            Package
>=0.13.1-0 <0.14.0-0    >=0.16.2-0 <0.17.0-0 @jupyterlab/application
>=0.13.1-0 <0.14.0-0    >=0.16.2-0 <0.17.0-0 @jupyterlab/apputils
>=0.13.0-0 <0.14.0-0    >=1.1.2-0 <2.0.0-0   @jupyterlab/coreutils
>=0.13.2-0 <0.14.0-0    >=0.16.2-0 <0.17.0-0 @jupyterlab/filebrowser
>=0.13.2-0 <0.14.0-0    >=0.16.2-0 <0.17.0-0 @jupyterlab/launcher

Cloning into 'jupyter-renderers'...
yarn install v1.3.2
[1/4] Resolving packages...
warning Resolution field "@types/react@16.3.13" is incompatible with requested version "@types/react@~16.0.19"
[2/4] Fetching packages...
info source-map@0.7.2: The engine "node" is incompatible with this module. Expected version ">= 8".
info "source-map@0.7.2" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
warning " > tslint@5.10.0" has unmet peer dependency "typescript@>=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev".
warning "tslint > tsutils@2.26.2" has unmet peer dependency "typescript@>=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 2.10.0-dev".
[4/4] Building fresh packages...
success Saved lockfile.
Done in 49.25s.
yarn run v1.3.2
$ lerna run --parallel build
lerna info version 2.11.0
lerna info versioning independent
lerna info run in 7 package(s): npm run build
lerna ERR! execute callback with error
lerna ERR! Error: spawn yarn ENOENT
lerna ERR!     at exports._errnoException (util.js:1020:11)
lerna ERR!     at Process.ChildProcess._handle.onexit (internal/child_process.js:197:32)
lerna ERR!     at onErrorNT (internal/child_process.js:376:16)
lerna ERR!     at _combinedTickCallback (internal/process/next_tick.js:80:11)
lerna ERR!     at process._tickCallback (internal/process/next_tick.js:104:9)
lerna ERR!     at Module.runMain (module.js:606:11)
lerna ERR!     at run (bootstrap_node.js:383:7)
lerna ERR!     at startup (bootstrap_node.js:149:9)
lerna WARN complete Waiting for 6 child processes to exit. CTRL-C to exit immediately.
{ Error: spawn yarn ENOENT
    at exports._errnoException (util.js:1020:11)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:197:32)
    at onErrorNT (internal/child_process.js:376:16)
    at _combinedTickCallback (internal/process/next_tick.js:80:11)
    at process._tickCallback (internal/process/next_tick.js:104:9)
    at Module.runMain (module.js:606:11)
    at run (bootstrap_node.js:383:7)
    at startup (bootstrap_node.js:149:9)
...

@vsoch
Copy link
Contributor Author

vsoch commented Aug 11, 2018

It weirdly seems to work! Here are containers (that didn't install correctly) if you want to debug, I definitely need some help! --> https://vsoch.github.io/repo2docker-jupyterlab/

I futzed around with the command, this seems to do a thing!

docker run --rm -it -p 8888:8888 vanessa/repo2docker-jupyterlab jupyter lab --ip=0.0.0.0 --no-browser

then I opened to http://localhost:8888/lab but the index.html is not found (I broke something :P)

image

Thanks for your help!

@betatim
Copy link
Member

betatim commented Aug 11, 2018

The build issues is probably something to ask about in the jupyterlab repositories.

@vsoch
Copy link
Contributor Author

vsoch commented Aug 11, 2018

okay cool thanks! I just posted here. jupyterlab/jupyter-renderers#152 I'll update the issue here if there is something that needs to be done for repo2docker

@vsoch
Copy link
Contributor Author

vsoch commented Aug 12, 2018

heyo! So the jupyterlab team pointed that the version of jupyterlab used was old, so I first tried removing any specification of versions for it (assuming it would build latest). I re-triggered the build and I see that it's obtained from this file requirements.frozen.txt:

Collecting jupyterlab==0.30.6 (from -r /tmp/requirements.frozen.txt (line 17))
  Downloading https://files.pythonhosted.org/packages/45/07/7d642ca547339d9b787bfb9ee3f69a927a640988c0570043bcf45ed5dac5/jupyterlab-0.30.6-py2.py3-none-any.whl (9.5MB)
Collecting MarkupSafe==1.0 (from -r /tmp/requirements.frozen.txt (line 18))

It didn't do the trick, and I'm not sure why because the version on pipi is 0.33.6 and minimally the one in the "frozen" files in repo2docker are 0.32.1

When I updated the jupyterlab version in my own requirements.txt for the notebook, some progress! It uninstalled the older one, and installed the newer one (0/33/8)

Installing collected packages: pytz, numpy, pandas, vdom, jupyterlab
  Found existing installation: jupyterlab 0.30.6
    Uninstalling jupyterlab-0.30.6:
      Successfully uninstalled jupyterlab-0.30.6
Successfully installed jupyterlab-0.33.8 numpy-1.15.0 pandas-0.23.4 pytz-2018.5 vdom-0.5
 ---> 9291218a2d86
Removing intermediate container 2390d0801171
Step 31/32 : USER ${NB_USER}
 ---> Running in 6bb7892f5f1d
 ---> 715cbb384016
Removing intermediate container 6bb7892f5f1d
Step 32/32 : RUN ./binder/postBuild

Although I should have done the same with the launcher :P

 ---> Running in 8e4c80c04404
Traceback (most recent call last):
  File "/srv/venv/bin/jupyter-labextension", line 7, in <module>
    from jupyterlab.labextensions import main
  File "/srv/venv/lib/python3.6/site-packages/jupyterlab/labextensions.py", line 18, in <module>
    from .commands import (
  File "/srv/venv/lib/python3.6/site-packages/jupyterlab/commands.py", line 26, in <module>
    from jupyterlab_launcher.process import which, Process, WatchHelper
ModuleNotFoundError: No module named 'jupyterlab_launcher.process'
Removing intermediate container 8e4c80c04404
The command '/bin/sh -c ./binder/postBuild' returned a non-zero code: 1Exited with code 1

Once I did,

I'm a bit dumbfounded because I can't find where this is happening - to go back in time a bit, the version 0.30.6 was set in repo2docker back in Jan 3, 2018 and it was also about a month prior (December 5th, 2017) that the release (logically) came out on pypi. The repo2docker version (per the line that prints it is repo2docker version: 0.2.0). The weird thing is that the one on pip seems to be 0.5.0, and I was installing from pip (without a version, because I'm great like that). So I changed it to install the latest:

# from
        pip install jupyter-repo2docker
# to
        pip install jupyter-repo2docker==0.5.0

The final bit is that this version of jupyterlab-drawio has a maximum of 0.2.0 and this still isn't liked by the others when they are updated:

> /usr/bin/npm pack jupyterlab-drawio
jupyterlab-drawio-0.2.0.tgz

Errored, use --debug for full output:
ValueError: This extension does not yet support the current version of JupyterLab.


Conflicting Dependencies:
JupyterLab              Extension        Package
>=0.17.2 <0.18.0        >=0.16.2 <0.17.0 @jupyterlab/application
>=0.17.2 <0.18.0        >=0.16.2 <0.17.0 @jupyterlab/apputils
>=2.0.2 <3.0.0          >=1.1.2 <2.0.0   @jupyterlab/coreutils
>=0.17.3 <0.18.0        >=0.16.2 <0.17.0 @jupyterlab/filebrowser
>=0.17.2 <0.18.0        >=0.16.2 <0.17.0 @jupyterlab/launcher
Removing intermediate container 3369104df1f3
The command '/bin/sh -c ./binder/postBuild' returned a non-zero code: 1Exited with code 1

I don't see a solution here, because the latest version of the module is (reported to be) too old. So to continue trying to get something working (just the geojson extension) I removed the drawio dependency. Here is the next bugger:

> node /srv/venv/lib/python3.6/site-packages/jupyterlab/staging/yarn.js install
yarn install v1.6.0
info No lockfile found.
[1/4] Resolving packages...
warning css-loader > cssnano > autoprefixer > browserslist@1.7.7: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
warning css-loader > cssnano > postcss-merge-rules > browserslist@1.7.7: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
warning css-loader > cssnano > postcss-merge-rules > caniuse-api > browserslist@1.7.7: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
[2/4] Fetching packages...
error webpack@4.12.2: The engine "node" is incompatible with this module. Expected version ">=6.11.5".
error Found incompatible module
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
> node /srv/venv/lib/python3.6/site-packages/jupyterlab/staging/yarn.js run build:prod
yarn run v1.6.0
$ webpack --config webpack.prod.config.js
/bin/sh: 1: webpack: not found
error Command failed with exit code 127.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Okay, so i added trying to install / print things, see here -->

https://circleci.com/gh/vsoch/repo2docker-jupyterlab/22

This is way out of my comfort zone now with webpack and node/npm (I try to stay away from these, actually) so I'd definitely appreciate some help! One additional observation is that circle ci seems to have these "build-depacks" that the tag "artful" is coming from, I'm not sure if some kind of version is hard coded there for things? --> https://github.com/CircleCI-Public/circleci-dockerfiles/blob/master/buildpack-deps/images/artful/Dockerfile

@choldgraf
Copy link
Member

Whoah! Hmmm, I will try to look into this soon! (am on a flight currently)

@blink1073
Copy link
Contributor

Hmm, it sounds like the same underlying problem in jupyterlab/jupyterlab#5071, though I'm not sure what to do about it...

@blink1073
Copy link
Contributor

@vsoch, in the mean time, you could try with Jupyterlab 0.32 and geojson 0.16.

@vsoch
Copy link
Contributor Author

vsoch commented Aug 13, 2018

Aye aye! https://circleci.com/gh/vsoch/repo2docker-jupyterlab/24#usage-queue/containers/0

There was one more bug about permissions to write to /usr/local (node_modules) which I believe was because I was trying to do a global install of something. I removed that, and the link above builds okay! I added a note about this bug in the README so (hopefully) others will see it if they run into trouble. To save you some clicks from your airplane, here is the relevant section from the build (all looks good to me with these versions you suggested):

Requirement already satisfied: webencodings in /srv/venv/lib/python3.6/site-packages (from html5lib!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8,>=0.99999999pre->bleach->nbconvert->notebook>=4.3.1->jupyterlab==0.32->-r binder/requirements.txt (line 5))
Installing collected packages: pytz, numpy, pandas, vdom, jupyterlab
  Found existing installation: jupyterlab 0.30.6
    Uninstalling jupyterlab-0.30.6:
      Successfully uninstalled jupyterlab-0.30.6
Successfully installed jupyterlab-0.32.0 numpy-1.15.0 pandas-0.23.4 pytz-2018.5 vdom-0.5
 ---> cbd019ebfb04
Removing intermediate container 807d294f63d9
Step 31/32 : USER ${NB_USER}
 ---> Running in a379d3f74a50
 ---> 2a80596b1e25
Removing intermediate container a379d3f74a50
Step 32/32 : RUN ./binder/postBuild
 ---> Running in 8b7804f06196
> /usr/bin/npm pack @jupyterlab/geojson-extension@0.16.0
jupyterlab-geojson-extension-0.16.0.tgz
> node /srv/venv/lib/python3.6/site-packages/jupyterlab/staging/yarn.js install
yarn install v1.5.1
info No lockfile found.
[1/4] Resolving packages...
warning css-loader > cssnano > autoprefixer > browserslist@1.7.7: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
warning css-loader > cssnano > postcss-merge-rules > browserslist@1.7.7: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
warning css-loader > cssnano > postcss-merge-rules > caniuse-api > browserslist@1.7.7: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
[2/4] Fetching packages...
info fsevents@1.2.4: The platform "linux" is incompatible with this module.
info "fsevents@1.2.4" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
warning "@jupyterlab/json-extension > react-json-tree@0.10.9" has incorrect peer dependency "react@^15.0.0".
warning "@jupyterlab/json-extension > react-json-tree@0.10.9" has incorrect peer dependency "react-dom@^15.0.0".
warning "@jupyterlab/vdom-extension > @nteract/transform-vdom@1.1.1" has incorrect peer dependency "react@^15.6.1".
[4/4] Building fresh packages...
success Saved lockfile.
Done in 41.38s.
> node /srv/venv/lib/python3.6/site-packages/jupyterlab/staging/yarn.js run build:prod
yarn run v1.5.1
$ webpack --config webpack.prod.config.js
Hash: 50fb8c282624a9dcf6cd
Version: webpack 2.7.0
Time: 54044ms
                                 Asset       Size  Chunks                    Chunk Names
  44a526eed258222515aa21eaffd14a96.png  618 bytes          [emitted]         
  912ec66d7572ff821749319396470bde.svg     444 kB          [emitted]  [big]  
  4f0283c6ce28e888000e978e537a6a56.png    1.26 kB          [emitted]         
  2273e3d8ad9264b7daa5bdbf8e6b47f8.png    1.47 kB          [emitted]         
  674f50d287a8c48dc19ba404d20fe713.eot     166 kB          [emitted]         
 fee66e712a8a08eef5805a46892932ad.woff      98 kB          [emitted]         
  a6137456ed160d7606981aa57c559898.png  696 bytes          [emitted]         
af7ae505a9eed503f8b8e6982036873e.woff2    77.2 kB          [emitted]         
  401d815dc206b8dc1b17cd0e37695975.png    2.46 kB          [emitted]         
  b06871f281fee6b241d60582ae9369b9.ttf     166 kB          [emitted]         
             0.279ec850a9242db04c85.js     465 kB       0  [emitted]  [big]  
          main.34bb33046ff35e7dafba.js    2.42 MB       1  [emitted]  [big]  main
        vendor.4a90d3e960f7c6572d11.js    1.57 MB       2  [emitted]  [big]  vendor
      manifest.ab988e01f17c524f8227.js    1.62 kB       3  [emitted]         manifest
         0.279ec850a9242db04c85.js.map    1.35 MB       0  [emitted]         
      main.34bb33046ff35e7dafba.js.map    8.34 MB       1  [emitted]         main
    vendor.4a90d3e960f7c6572d11.js.map    5.69 MB       2  [emitted]         vendor
  manifest.ab988e01f17c524f8227.js.map    8.24 kB       3  [emitted]         manifest
                            index.html    1.53 kB          [emitted]         
[/sZe] ./~/@phosphor/commands/lib/index.js 33.3 kB {2} [built]
[2Kj9] ./~/@phosphor/widgets/lib/index.js 1.38 kB {2} [built]
[GiK3] ./~/react/index.js 190 bytes {2} [built]
[Js9g] ./build/index.out.js 34.6 kB {1} [built]
[O27J] ./~/react-dom/index.js 1.36 kB {2} [built]
[PJh5] ./~/moment/moment.js 132 kB {2} [built]
[cYMN] ./~/@phosphor/virtualdom/lib/index.js 21 kB {2} [built]
[dyOy] ./~/url-parse/index.js 11.4 kB {2} [built]
[hKoQ] ./~/es6-promise/dist/es6-promise.js 28.6 kB {2} [built]
[ug+F] ./~/xterm/lib/xterm.js 52.7 kB {2} [built]
[wr2+] ./~/@phosphor/properties/lib/index.js 6.58 kB {2} [built]
[wuIn] ./~/comment-json/index.js 103 bytes {2} [built]
   [8] multi @phosphor/algorithm @phosphor/application @phosphor/commands @phosphor/coreutils @phosphor/datagrid @phosphor/disposable @phosphor/domutils @phosphor/dragdrop @phosphor/messaging @phosphor/properties @phosphor/signaling @phosphor/virtualdom @phosphor/widgets ajv ansi_up codemirror comment-json es6-promise marked moment path-posix react react-dom sanitize-html url-parse xterm 328 bytes {2} [built]
[y7VK] ./~/@phosphor/algorithm/lib/index.js 1.03 kB {2} [built]
   [9] multi whatwg-fetch ./build/index.out.js 40 bytes {1} [built]
    + 2226 hidden modules
Child html-webpack-plugin for "index.html":
    [3IRH] (webpack)/buildin/module.js 517 bytes {0} [built]
    [DuR2] (webpack)/buildin/global.js 509 bytes {0} [built]
    [GTAU] ./~/html-loader!./templates/partial.html 420 bytes {0} [built]
    [M4fF] ./~/lodash/lodash.js 540 kB {0} [built]
    [vxCX] ./~/html-webpack-plugin/lib/loader.js!./templates/template.html 1.41 kB {0} [built]
Done in 55.59s.
 ---> da41c9473bd8
Removing intermediate container 8b7804f06196
{"aux": {"ID": "sha256:da41c9473bd86196b8e7d2bf5b398641eea5771c271103d56741ae4f1dd39636"}}Successfully built da41c9473bd8
Successfully tagged vanessa/repo2docker-jupyterlab:eaec034022

And then testing the container:

I'll leave this here for you to take a look at, I think we are at least close (and likely now dealing with my own user error)

docker pull vanessa/repo2docker-jupyterlab:latest
docker run -it --rm -p 8888:8888 vanessa/repo2docker-jupyterlab jupyter lab --ip 0.0.0.0

The previous error was:

image

And the latest is different!

image

Let me know what I can try to rebuild, etc. Safe travels!

@blink1073
Copy link
Contributor

Hmm, the clue here might be that it works with yarn 1.5 but not yarn 1.6. We are looking to update to yarn 1.9 in the next release, hopefully that solves it... cf jupyterlab/jupyterlab#4585

@vsoch
Copy link
Contributor Author

vsoch commented Aug 22, 2018

heyo! I just tested a container built with the higher version of yarn (I followed that link that is now closed) and I'm running into the same bug:

image

@vsoch
Copy link
Contributor Author

vsoch commented Aug 22, 2018

Removing intermediate container 20341f8fddc1
Step 32/32 : RUN ./binder/postBuild
 ---> Running in 397ece2bbf88
> /usr/bin/npm pack @jupyterlab/geojson-extension@0.16.0
jupyterlab-geojson-extension-0.16.0.tgz
> node /srv/venv/lib/python3.6/site-packages/jupyterlab/staging/yarn.js install
yarn install v1.5.1
info No lockfile found.
[1/4] Resolving packages...
warning css-loader > cssnano > autoprefixer > browserslist@1.7.7: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
warning css-loader > cssnano > postcss-merge-rules > browserslist@1.7.7: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
warning css-loader > cssnano > postcss-merge-rules > caniuse-api > browserslist@1.7.7: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
[2/4] Fetching packages...
info fsevents@1.2.4: The platform "linux" is incompatible with this module.
info "fsevents@1.2.4" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
warning "@jupyterlab/json-extension > react-json-tree@0.10.9" has incorrect peer dependency "react@^15.0.0".
warning "@jupyterlab/json-extension > react-json-tree@0.10.9" has incorrect peer dependency "react-dom@^15.0.0".
warning "@jupyterlab/vdom-extension > @nteract/transform-vdom@1.1.1" has incorrect peer dependency "react@^15.6.1".
[4/4] Building fresh packages...
success Saved lockfile.
Done in 36.61s.
> node /srv/venv/lib/python3.6/site-packages/jupyterlab/staging/yarn.js run build:prod
yarn run v1.5.1
$ webpack --config webpack.prod.config.js
Hash: ca6a48f0b69af7f05b07
Version: webpack 2.7.0
Time: 57544ms
                                 Asset       Size  Chunks                    Chunk Names
  44a526eed258222515aa21eaffd14a96.png  618 bytes          [emitted]         
  912ec66d7572ff821749319396470bde.svg     444 kB          [emitted]  [big]  
  4f0283c6ce28e888000e978e537a6a56.png    1.26 kB          [emitted]         
  2273e3d8ad9264b7daa5bdbf8e6b47f8.png    1.47 kB          [emitted]         
  674f50d287a8c48dc19ba404d20fe713.eot     166 kB          [emitted]         
 fee66e712a8a08eef5805a46892932ad.woff      98 kB          [emitted]         
  a6137456ed160d7606981aa57c559898.png  696 bytes          [emitted]         
af7ae505a9eed503f8b8e6982036873e.woff2    77.2 kB          [emitted]         
  401d815dc206b8dc1b17cd0e37695975.png    2.46 kB          [emitted]         
  b06871f281fee6b241d60582ae9369b9.ttf     166 kB          [emitted]         
             0.279ec850a9242db04c85.js     465 kB       0  [emitted]  [big]  
          main.9f67ef73be214b5e7eaf.js    2.42 MB       1  [emitted]  [big]  main
        vendor.4a90d3e960f7c6572d11.js    1.57 MB       2  [emitted]  [big]  vendor
      manifest.5663821136819aaea007.js    1.62 kB       3  [emitted]         manifest
         0.279ec850a9242db04c85.js.map    1.35 MB       0  [emitted]         
      main.9f67ef73be214b5e7eaf.js.map    8.34 MB       1  [emitted]         main
    vendor.4a90d3e960f7c6572d11.js.map    5.69 MB       2  [emitted]         vendor
  manifest.5663821136819aaea007.js.map    8.24 kB       3  [emitted]         manifest
                            index.html    1.53 kB          [emitted]         
[/sZe] ./~/@phosphor/commands/lib/index.js 33.3 kB {2} [built]
[2Kj9] ./~/@phosphor/widgets/lib/index.js 1.38 kB {2} [built]
[GiK3] ./~/react/index.js 190 bytes {2} [built]
[Js9g] ./build/index.out.js 34.6 kB {1} [built]
[O27J] ./~/react-dom/index.js 1.36 kB {2} [built]
[PJh5] ./~/moment/moment.js 132 kB {2} [built]
[cYMN] ./~/@phosphor/virtualdom/lib/index.js 21 kB {2} [built]
[dyOy] ./~/url-parse/index.js 11.4 kB {2} [built]
[hKoQ] ./~/es6-promise/dist/es6-promise.js 28.6 kB {2} [built]
[ug+F] ./~/xterm/lib/xterm.js 52.7 kB {2} [built]
[wr2+] ./~/@phosphor/properties/lib/index.js 6.58 kB {2} [built]
[wuIn] ./~/comment-json/index.js 103 bytes {2} [built]
   [8] multi @phosphor/algorithm @phosphor/application @phosphor/commands @phosphor/coreutils @phosphor/datagrid @phosphor/disposable @phosphor/domutils @phosphor/dragdrop @phosphor/messaging @phosphor/properties @phosphor/signaling @phosphor/virtualdom @phosphor/widgets ajv ansi_up codemirror comment-json es6-promise marked moment path-posix react react-dom sanitize-html url-parse xterm 328 bytes {2} [built]
[y7VK] ./~/@phosphor/algorithm/lib/index.js 1.03 kB {2} [built]
   [9] multi whatwg-fetch ./build/index.out.js 40 bytes {1} [built]
    + 2226 hidden modules
Child html-webpack-plugin for "index.html":
    [3IRH] (webpack)/buildin/module.js 517 bytes {0} [built]
    [DuR2] (webpack)/buildin/global.js 509 bytes {0} [built]
    [GTAU] ./~/html-loader!./templates/partial.html 420 bytes {0} [built]
    [M4fF] ./~/lodash/lodash.js 540 kB {0} [built]
    [vxCX] ./~/html-webpack-plugin/lib/loader.js!./templates/template.html 1.41 kB {0} [built]
Done in 59.18s.
 ---> fd8808926983
Removing intermediate container 397ece2bbf88
{"aux": {"ID": "sha256:fd8808926983f49df78b2d9e95e47d1fbc768a93c38c48af0df073c9c978de4c"}}Successfully built fd8808926983
Successfully tagged vanessa/repo2docker-jupyterlab:1a69e15da7
Changing permissions to chmod -R 777 /home/joyvan
d88d428f6c7060332589e9c434a401b11f4aa5f2e9c62ad8be73674c46c34854
sha256:60bd1edc2bd76d89b3c84308d6f213f03ccdf7a676bbdf3b35cdf6c6e8d33e4b
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
d88d428f6c70        fd8808926983        "/bin/bash"         8 seconds ago       Up 7 seconds        8888/tcp            repo2docker
REPOSITORY                       TAG                 IMAGE ID            CREATED                  SIZE
vanessa/repo2docker-jupyterlab   1a69e15da7          60bd1edc2bd7        Less than a second ago   1.72GB
buildpack-deps                   artful              538c441f13ec        5 weeks ago              750MB

https://circleci.com/gh/vsoch/repo2docker-jupyterlab/28

@vsoch
Copy link
Contributor Author

vsoch commented Aug 22, 2018

Do I need to do something differently to use yarn 1.6?

@blink1073
Copy link
Contributor

Hi @vsoch, you can specify jupyterlab==0.32.0 in your environment.yml file.

@vsoch
Copy link
Contributor Author

vsoch commented Aug 22, 2018

okay I will try this!

@vsoch
Copy link
Contributor Author

vsoch commented Aug 22, 2018

oh, so it looks like I have that already, but in the requirements.txt?

https://github.com/vsoch/repo2docker-jupyterlab/blob/master/binder/requirements.txt#L5

Do I need to have the other file too? It doesn't say in the config docs if there is a salient difference, so I figured requirements.txt is ok.

@blink1073
Copy link
Contributor

It looks like you can use one or the other from the docs: https://repo2docker.readthedocs.io/en/latest/config_files.html

@vsoch
Copy link
Contributor Author

vsoch commented Aug 22, 2018

How are they different? Why would that make a difference?

@blink1073
Copy link
Contributor

Requirements.txt means you are only using pip to install packages, while environment.yml allows you to install packages from conda, which can include non-python packages.

@vsoch
Copy link
Contributor Author

vsoch commented Aug 23, 2018

Ah ok, I think what I was asking (and not being super clear, apologies) was if there would be significant difference in installing jupyterlab (in the pip section) of an environment.yml file, versus a requirements.txt. From what you are saying, your are suggesting there is, so I'll try this - although my intuition is saying that there wouldn't be a difference, but maybe I'm forgetting some other part of the environment.yml?

The fastest way to know is to try it out! So I replaced the environment.yml with this one:

name: jupyterlab-environment
channels:
  - conda-forge
dependencies:
  - python
  - numpy
  - pip:
    - traitlets>=4.3.1
    - ipython
    - pandas
    - vdom
    - jupyterlab==0.32.0
    - jupyterlab_launcher

And as you can see, was very specific to say jupyterlab==0.32.0 (with trailing zero, not present in the requirements.txt originally). I'll let that build and update you if there is any fix.

@blink1073
Copy link
Contributor

They typically take about the same amount of time, so unless you need non-python packages it shouldn't matter one way or the other.

@vsoch
Copy link
Contributor Author

vsoch commented Aug 23, 2018

So why was that the suggested "fix" for the issue? I think I missed something :(

@vsoch
Copy link
Contributor Author

vsoch commented Aug 23, 2018

Here is the latest build to test...

docker pull vanessa/repo2docker-jupyterlab:7d02a0a0f0
docker run -it --rm -p 8888:8888 vanessa/repo2docker-jupyterlab:7d02a0a0f0 jupyter lab --ip 0.0.0.0

image

dinosaur is struggling ...

Is repo2docker not the right way to build this? At this point I feel like it might be less opaque to just try building something from scratch, without the ✨ magic ✨ but I really like repo2docker so I want it to work!

@blink1073
Copy link
Contributor

Hmm, it looks like the default location of the app directory wasn't detected properly. I'd like to dive in and debug after JupyterCON this week, but for now you can run "Jupyter lab build" in your post build script

@vsoch
Copy link
Contributor Author

vsoch commented Aug 24, 2018

okay!

omg you are at JupyterCon!! I'm so jealous! I will live vicariously through the tweets of others, haha.

Have fun and chat when you are back! I'll give the jupyter lab build a try, it will be good for learning.

@blink1073
Copy link
Contributor

Great, good luck! Hopefully you can come next year!

@vsoch
Copy link
Contributor Author

vsoch commented Aug 24, 2018

I hope so too, it's hard to get funding for these trips!

I tried running the build command (and needed to also install webpack I think?) so the latest command to pull the container is:

$ docker pull vanessa/repo2docker-jupyterlab:ace3cd632e
$ docker run -it --rm -p 8888:8888 vanessa/repo2docker-jupyterlab:ace3cd632e jupyter lab --ip 0.0.0.0

Same issue, and I think you are right it has to do with being in the wrong directory at some point, although I'm not familiar enough with how the app works to say exactly.
build_37_step_107_container_0.txt
To get you up and running I'm attaching the circle log that has the output for (likely what went wrong). I'm good waiting for you to get back, because I think you'll likely spot the issue and know what to do moreso than what I've been doing (largely being lost in the wildnerness... heh).

Enjoy JupyterCon and chat when you are back!

@blink1073
Copy link
Contributor

You might want to consider the scholarship program: https://www.oreilly.com/conferences/diversity-application.csp.

I don't see anything jump out at me in the log, I'll have to dig deeper when I have a larger block of time.

@blink1073
Copy link
Contributor

Whoops, looking back in the comments I replied a comment where you had linked to the config docs with my own link to the config docs. That's what I get for replying on my phone. Apologies for that...

@blink1073
Copy link
Contributor

@choldgraf, I found out in vsoch/repo2docker-jupyterlab#1 that because we use Webpack 4, Nodejs 6+ must be available in the environment.

@vsoch
Copy link
Contributor Author

vsoch commented Aug 27, 2018

woohoo, houston we have container!

image

https://www.youtube.com/watch?v=7Xf-Lesrkuc

And he's added to the containershare! https://vsoch.github.io/containershare/ 🎉

It looks like @blink1073 changes to install from conda and specify versions did the trick! The only (slightly off) message I see is:

[W 10:52:09.313 LabApp] 404 GET /lab/api/workspaces/lab?1535367129310 (172.17.0.1): Workspace 'lab' ('lab-a511') not found
[W 10:52:09.313 LabApp] Workspace 'lab' ('lab-a511') not found

but it doesn't seem to interfere with the main functions, so I'm okay leaving as is until someone brings up issue. If you know a fix for this or want to update the versions in the container, please PR!

Thanks everyone :) It works lovely, and I'm glad to work on this with you. Closing issue!

@vsoch vsoch closed this as completed Aug 27, 2018
@blink1073
Copy link
Contributor

That means that it didn't find a lab file in the workspaces directory (found by typing jupyter lab paths), and created one for you. Glad we're off and running! (Love that song btw...)

@spendyala
Copy link

spendyala commented Sep 5, 2018

I am still seeing

[W 19:33:36.829 LabApp] 404 GET /lab/api/workspaces/lab?1536176016796 (172.17.0.1): Workspace 'lab' ('lab-a511') not found
[W 19:33:36.831 LabApp] Workspace 'lab' ('lab-a511') not found

after running
jupyter lab paths

/# jupyter lab paths
Application directory: /usr/local/share/jupyter/lab
User Settings directory: /root/.jupyter/lab/user-settings
Workspaces directory: /root/.jupyter/lab/workspaces

Not sure what was wrong to fix this issue. Can anyone help.

@blink1073
Copy link
Contributor

Hi @spendyala, is the application otherwise working?

@spendyala
Copy link

Hello @blink1073, yes application is working and able to get the matplotlib, pandas, numpy working after running the container. Just wanted to find out if this warning is gonna break anything.

@blink1073
Copy link
Contributor

You're good to go then, nothing to worry about.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants