gap-packages / JupyterKernel

Native Jupyter kernel for GAP
https://gap-packages.github.io/JupyterKernel/
BSD 3-Clause "New" or "Revised" License
19 stars 12 forks source link

Document/support installation of multiple GAP kernels #95

Open stevelinton opened 5 years ago

stevelinton commented 5 years ago

I'd like to have multiple GAP kernels installed, to line up with my multiple installations of GAP (release, master, etc.). I suspect this is not too hard -- presumably just editing a kernel.json file somewhere, but it would be helpful to document how to do it.

markuspf commented 5 years ago

This needs multiple things to happen;

currently we're using the jupyter-kernel-gap script to even run gap, and that script gets its executable from the environment variable $JUPYTER_GAP_EXECUTABLE or $GAP (in that order).

One way of resolving this is hard-coding the path to the GAP executable into this script, and hard-coding the location of the script into the kernel.json file that is installed.

This means hard coding the location of GAP when installing the kernelspec (one can write a GAP function for this, all one needs to do is adapt the file kernel.json (possibly into a temporary directory) in the JupyterKernel package and then execute jupyter kernelspec install pkg/JupyterKernel/etc/jupyter

See also here on my machine:

# jupyter kernelspec list
Available kernels:
  calysto_scheme    /home/mp397/.local/share/jupyter/kernels/calysto_scheme
  gap-4             /home/mp397/.local/share/jupyter/kernels/gap-4
  gap-native        /home/mp397/.local/share/jupyter/kernels/gap-native
  gap-test          /home/mp397/.local/share/jupyter/kernels/gap-test
  python3           /home/mp397/.local/share/jupyter/kernels/python3