unable to get jupyterhub/singleuser-builder-venv-3.5:v0.2.1
Opened this issue · 21 comments
I just tried to turn this repository into a binder: https://github.com/janfreyberg/niwidgets
It contains a pypi
package along with some notebooks to demonstrate the package. It also has a requirements.txt
file that contains:
numpy
scipy
matplotlib
nibabel
ipywidgets
(Note: I've also tried it with explicit version numbers in the requirements)
However, when I want to build a binder from this, I receive the following Log:
Waiting for build to start...
Waiting for build to start...
Waiting for build to start...
Cloning into '/tmp/2c2d2380-78db-4b01-8cae-7a4ada449679'...
HEAD is now at 998563a Update requirements.txt
Using python-pip builder
pulling image error : Error: image jupyterhub/singleuser-builder-venv-3.5 not found
pulling image error : Error: image jupyterhub/singleuser-builder-venv-3.5 not found
ERROR: An error occurred: unable to get jupyterhub/singleuser-builder-venv-3.5:v0.2.1
ERROR: Suggested solution: check image name, or if using local image add --pull-policy=never
flag
ERROR: If the problem persists consult the docs at https://github.com/openshift/source-to-im
age/tree/master/docs. Eventually reach us on freenode #openshift or file an issue at https:/
/github.com/openshift/source-to-image/issues providing us with a log from your build using -
-loglevel=3
Failed to build image!
Since source-to-image or jupyterhub/singleuser-builder-venv-3.5 are not in my requirements, I assume this is a broader bug so I thought I would submit an issue.
Thanks for the catch! I'm pretty sure this is because of the recent DNS switch, and we're figuring out what's going wrong with the base Docker image pulling. In the meantime, all new Binder development is going on here:
https://github.com/jupyterhub/binderhub
And we'll deprecate these repos as soon as the beta version becomes the "main" website. I've got another version of this issue open here:
Could you keep an eye on that one for fixes etc?
Cool! Didn't realise there was a switch in development strategy, but it seems like a really cool idea.
yep - basically the JupyterHub project was already handling a lot of the same stuff that Binder did as well, so by placing JHub as the backend of Binder, improvements to that software propagate to Binder automatically...should make things more stable and easier to maintain (uhhhh....once we unbreak everything that is......)
so, if I'm understanding this correctly, the functionality of Binder is being incorporated into jupyterhub? Is there anything we need to do to ready our binder projects?
The biggest difference will be that the base docker image used for all builds will be more more stripped down, so you may need to be more explicit with your dependencies.
Give it a shot at beta.mybinder.org
in a couple of days once we've smoothed over some bugs!
Can you open an issue at https://github.com/jupyterhub/binderhub ?
It might be buggy for a few days as we've just switched the DNS records for the website and that broke a few things
should I try the build again? It.... takes quite some time, since when I last checked GCC 7.1 wasn't available so I was building it from source. I also remember some issues fetching PGP public keys or something like that
give it a shot in a couple of days...the bugs will be fixed by then + we've got a new deployment rolling out soon that will let you run shell commands (e.g. apt-get)
OK. Is jupyter/datascience-notebook still an appropriate base image?
I think so - maybe a little bit heavy-handed (I think it has a buncha stuff like python 2 + 3, R, etc), but it should still work
Python 2 is being removed from docker-stacks.
Heya! I think I just fixed this yesterday afternoon.
@janfreyberg you can also now add an 'apt.txt' to install additional debian packages (on Ubuntu 17.04) before running pip install on your requirements.txt, and an executable postBuild
script that can run arbitrary user commands after the apt-get and requirements.txt have been installed. Might make it possible for you to do your things without requiring a Dockerfile!
When did docker-stacks switch from Debian to Ubuntu? This likely will mean I can wayyyyyyy speedup and streamline my docker image thanks to this. Namely, I no longer have to compile GCC 7.1 from source, which was really harshing my mellow.
@zbeekman the default binder base image is not based on docker-stacks, just a minimal Ubuntu image that I plan on keeping up to date with latest Ubuntu releases. When you only use requirements.txt and apt.txt and postBuild, a Dockerfile is generated for you from https://github.com/jupyter/repo2docker/blob/master/repo2docker/detectors.py#L18. This is currently based off the very popular https://hub.docker.com/_/buildpack-deps/ zesty version :)
@yuvipanda but I can still supply a docker file of my own right? I was using docker-stacks as a base image, and it appears that they have migrated to ubuntu since I last checked... might explain my docker img build failure.
@janfreyberg yep! you can still supply a dockerfile of your own and it'll be honored. I don't think they've migrated to ubuntu. Plus you should use a tag in your 'FROM' anyway to make sure your build is reproducible
Switching to Ubuntu and dropping Python 3 both happened last week.