The philosophy and the approach の冒頭。David Marrがここに出てくるとは思わなかった。
The nbgrader project evolved from my experiences as an instructor and a student. This excerpt from David Marr’s book, Vision, is one of the core readings of the class that inspired the creation of nbgrader. … – Jess Hamrick, UC Berkeley
# conda install jupyter
# conda install -c conda-forge nbgrader
# jupyter nbextension install --sys-prefix --py nbgrader --overwrite
# jupyter nbextension enable --sys-prefix --py nbgrader
# jupyter serverextension enable --sys-prefix --py nbgrader
特定のユーザのみ有効にしたいときには以下のように--user
を使う。
$ jupyter nbextension install --user --py nbgrader --overwrite
$ jupyter nbextension enable --user --py nbgrader
$ jupyter serverextension enable --user --py nbgrader
jupyterhub等により受講生も使う環境では,受講生には不要なものを無効にする。
# jupyter nbextension disable --sys-prefix create_assignment/main
# jupyter nbextension disable --sys-prefix formgrader/main --section=tree
# jupyter serverextension disable --sys-prefix nbgrader.server_extensions.formgrader
# jupyter nbextension disable --sys-prefix course_list/main --section=tree
# jupyter serverextension disable --sys-prefix nbgrader.server_extensions.course_list
課題作成・管理をするインストラクタは上記を有効にする。
$ jupyter nbextension enable --user create_assignment/main
$ jupyter nbextension enable --user formgrader/main --section=tree
$ jupyter serverextension enable --user nbgrader.server_extensions.formgrader
$ jupyter nbextension enable --user course_list/main --section=tree
$ jupyter serverextension enable --user nbgrader.server_extensions.course_list
以下の,nbtestの部分は適当なコース名。
$ nbgrader quickstart nbtest
...
To get started, you can edit the source notebooks located in:
/home/username/test/source/ps1
Once you have edited them to your satisfaction, you can create
the student version by running `nbgrader generate_assignment ps1` from the
'/mnt/export1/at3/nishii/test' directory.
For further details, please see the full nbgrader documentation at:
https://nbgrader.readthedocs.io/en/stable/
nbtest/
以下に,サンプルファイルができている。
$ find nbtest
nbtest
nbtest/source
nbtest/source/header.ipynb
nbtest/source/ps1
nbtest/source/ps1/problem1.ipynb
nbtest/source/ps1/problem2.ipynb
nbtest/source/ps1/jupyter.png
nbtest/nbgrader_config.py
サンプルは,マニュアルにも掲載されている。
Using nbgrader with JupyterHubを見ておくとよい。
Quick Start
で生成されるnbgrader_config.py
に,以下のようにコースディレクトリを指定して,スタッフの~/.jupyter/
以下においておく。
c = get_config()
c.CourseDirectory.root = '/home/your_account/nbtest'
c.NbGrader.logfile = '/home/your_account/nbtest/log/nbgrader.log'
各コース用のnbgrader_config.py
は,各コースのトップディレクトリに置いておく。
jupyter notebookのタブ"Formgrader"をクリックすると,課題シートをどんどん作れる。
そもそも~/.jupyter/nbgrader_config.py
を参照してもらえない。
/etc/jupyterhub/jupyterhub_config.py
のdefault_url
の設定を変えたら解決。
#c.Spawner.default_url = '/lab' # デフォルト
c.Spawner.default_url = '' # こちらにした