dask / dask-tutorial

Dask tutorial
https://tutorial.dask.org
BSD 3-Clause "New" or "Revised" License
1.83k stars 702 forks source link

Docker bug fix #194

Closed borundev closed 3 years ago

borundev commented 3 years ago

The Dockerfile was creating an environment dask-tutorial but then launching jupyter using the default one.

This causes two issues:

Screenshot from 2020-09-23 12-43-45

  1. Since the notebooks were not using the correct kernel, all packages used were not available and in particular graphviz was not available as pointed out in this issue.

I fix that in this PR. It is not as straightforward as running conda init and the conda activate environment as the former requires to launch a new shell which is not possible.

The solution is to shell into the correct environment and then run the postBuild script. Furthermore, the notebooks are configured to use the environment python3. This can be solved simply by pointing python3 to dask-tutorial as I have done.

In addition I also make some changes to make sure that logging into a shell in the container activates the correct environment.

borundev commented 3 years ago

@jrbourbeau This is related to an issue you had identified so tagging you here.

borundev commented 3 years ago

@jrbourbeau In general I think that if a docker image is intended as an end product then it makes little sense to add other environments.

However, when I tried to update the base environment I got conflicts in explicit specs specified earlier.

So in this case I think the most straightforward way to handle the issue if the Dockerfile modification that I have made.

martindurant commented 3 years ago

@jrbourbeau , were you satisfied with the above argument? Certainly the fix would be useful.

jrbourbeau commented 3 years ago

Ah, thanks for the ping @martindurant. @borundev and I were actually able to talk about this issue offline and decided to go a slightly different direction. I'll push a commit real quick

jrbourbeau commented 3 years ago

This PR now just updates the base environment which should be activated by default (hope it's okay that I pushed to your branch @borundev)