Closed amerenda closed 2 years ago
@amerenda sorry for not being able to help you.
Could you please check, that this was fixed for the latest versions and works well now?
@amerenda I'm closing this issue for now. Please, reopen it and check with latest versions that you still have this problem.
This is a copy of: https://github.com/keplergl/kepler.gl/issues/1581 as I'm not sure if this bug has to do with kepler, or jupyter lab.
Describe the bug A kepler map built via the kepler widget will not display a map if built in a docker container via a script. But will display the map if built via a terminal emulator. This behavior is consistent when built both ways on the same VM, with the same Dockerfile and same version of docker. Running
jupyter lab build
on the image built via a script will allow the map to load correctly.What docker image you are using? jupyter/base-notebook:lab-3.1.6 I have also tried multiple versions of jupyter/base-notebook jupyter/base-notebook:lab-3.1.4 jupyter/base-notebook:lab-3.0.16 jupyter/base-notebook:lab-3.0.15 jupyter/base-notebook:lab-3.0.14 jupyter/base-notebook:lab-2.2.9 And jupyter/minimal-notebook
To Reproduce Steps to reproduce the behavior:
Dockerfile
Script to create
What complete docker command do you run to launch the container (omitting sensitive values)?
What steps do you take once the container is running to reproduce the issue? Open a python3 notebook Add
Expected behavior Kepler loads a map
Screenshots https://imgur.com/XM5I3gs
Environment (please complete the following information):
python 3.9.6
keplergl-jupyter v0.3.0
20.10.8, build 3967b7d
Additional context If you run this command via bash/zsh from a terminal
docker build $DOCKER_PATH -t $IMAGE_NAME:$TAG
run the container, and load the kepler map, it will display correctly without runningjupyter lab build
When running the docker build via a script, the build succeeds but the map will not work until
jupyter lab build
is run on the container.To eliminate any environmental sources, I ran the build manually on the VM, confirmed it worked, and ran the script on the same VM with the same Dockerfile and confirmed it did not work.
I thought that maybe it was related to docker being called from a bash pipe and not a TTY? But I called it via tmux in a script, confirmed it was running in a TTY, and I had the same issue.
I also thought maybe there was a rogue environment variable being set, so I compared the output of
env
on both a script and via the terminal. The differences are:Terminal
Script
Tmux run from a script
I also run the build via a terminal inside a tmux session where
SHLVL=2
and I setTERM=screen-256color
and confirmed the map loaded.Terminal env
Script env
I get the following console errors if I use the Chrome dev tools when built via a script.
JupyterLab logs:
I've never seen anything like this issue and I'm not sure how to proceed. I don't know if it is a docker issue, a kepler issue, or an NPM issue? If anyone has any insights, it would be greatly appreciated. For now, I cannot get Kepler to run on Jupyter unless I build my container manually.