Closed murhum1 closed 6 years ago
I made a mindmap trying to figure out the details, I hope it is of use to you. In the mindmap you might be able to see the exchange folders as well as the nbgrader
actions students and instructors can do, and what kinds of file system permissions for various folders that are required for the actions.
I never made my jupyterhub (deployed using https://z2jh.jupyter.org) support nbgrader since it required me to setup a shared filesystem (like NFS, NFS-ganesha, Rook) for the exchange directories, something I could not find time to do. I lack knowledge to help you setup that, but I know it to be quite tricky =/
Thanks. I do have an nfs server (or a dummy server at the moment) setup so that's not an issue. At the moment I think the issue is that the nbgrader config file isn't being read at all - as per http://nbgrader.readthedocs.io/en/stable/user_guide/philosophy.html#example, I have an nbgrader_config.py
in the root of my course directory, and I tried setting c.NbGrader.logfile = /var/log/nbgrader.log
in the config file, but the config file is still being created in the course directory. Do you have any idea where the config file should be in?
EDIT: I managed to possibly solve the issue - In my singleuser notebook server container, I now have a jupyter_notebook_config.py
file in /home/jovyan/.jupyter/
(the container user's home dir's jupyter config dir), containing the line c.NbGrader.logfile = "/var/log/grader.log"
which seems to be executed before loading any extensions, and the log file gets put in the correct place now. I haven't tried the other options yet, but I believe those should work now, too. Hoping for the best here to be able to continue!
Glad you were able to figure this out! I'll note that you should be able to create nbgrader_config.py
file in /home/jovyan/.jupyter
rather than jupyter_notebook_config.py
, but if this works then that's great. See also the note about the config file at the bottom of: https://nbgrader.readthedocs.io/en/stable/configuration/jupyterhub_config.html
Hi @murhum1 I am also trying to use Zero to Jupyterhub installation (jupyterhub+kubernetes). So far what I have figured out is that I need to have a NFS installed. Let's say I manage to do that somehow, how can I use nbgrader along with it? Can you please give a few pointers regarding how you were able to have that up and running? Thanks in advance
@vishwesh5, you can check out this comment to see our current state of things. I hope to make better documentation soon.
I'm currently trying to set up a jupyter notebook environment for a course of >600 students using kubernetes + jupyterhub + nbgrader. Everything jupyterhub-related seems to be working fine so far, but I'm having issues understanding the nbgrader configuration regarding courses and assignments.
My environment currently consists of 3 kubernetes nodes: one for kubernetes related administrative things, one for the jupyterhub container, and one for notebook servers. I'm using kube-spawner to spawn the notebook server containers.
Inside the container, I have 3 directories:
/course
,/user
, and/exchange
, all of which are empty to begin with. Mynbgrader_config.py
is as follows:And in
jupyterhub_config.py
I've definedc.KubeSpawner.singleuser_working_dir = '/user'
.Now I've no idea how I'd actually start creating a course. I've tried running
nbgrader quickstart my_course
in all of the 3 directories, but in all cases, in the jupyterhub "Assignments" tab it says "No courses available", and when I try to create an assignment in the "Formgrader" tab, I get an sql errorunable to open database file
. And in the UI I can't see the quickstart-created course anywhere, nor any assignments.All in all I'm just really confused about how the configuration works, and the documentation is just a mess regarding this. Any ideas / pointers on what I should try?
For what it's worth,
Operating system
Ubuntu 16.04
nbgrader --version
0.5.4
jupyterhub --version
(if used with JupyterHub)0.9.0
jupyter notebook --version
5.4.1