Preparing Python Environments for Jupyter
Overview
This article describes how to add your mamba environments to Jupyter to use as a notebook kernel. You can learn about creating mamba environments in Managing Python Modules Through the Mamba Environment Manager.
Creating the Jupyter Kernel
The following command will create a jupyter kernel from an existing mamba environment:
Do not activate the environment when running this command.
$ mkjupy <environment> "Icon Label"
Example (do not activate the nobel environment):
$ mkjupy nobel "nobel"
Expected output example:
$ Installed kernelspec nobel in /home/spock/.local/share/jupyter/kernels/nobel
This takes the environment called nobel
and creates a Jupyter kernel for it. When creating a new notebook, it will have an Icon labeled nobel
Use the Environment in Jupyter Hub
In the web portal, create a new interactive session after selecting Jupyter from the server list. The new kernel is now available for driving notebooks!
Customizing logos is possible but not currently documented due to potential complexity. If interested, please come by office hours!
Removing a Kernel from the Web App
From the terminal, execute the following commands (once again assuming a fresh shell session).
This will only remove the kernel entry in Jupyter and does not affect the environment.
$ module load mamba/latest
$ jupyter kernelspec remove nobel
Kernel specs to remove:
nobel /home/jyalim/.local/share/jupyter/kernels/nobel
Remove 1 kernel specs [y/N]: y
[RemoveKernelSpec] Removed /home/jyalim/.local/share/jupyter/kernels/nobel
Remove the kernel by the environment name, not the Jupyter kernel title.
Creating Kernels from a Data Directory
Since the command above only works for environments installed in the user’s home, to make a kernel from environments installed in /data
directory:
If needed, re-create the env in this /data directory, then each user in your group can access this env and make a kernel from it.
Activate the env
Once the env is activated, install "ipykernel" with mamba:
mamba install -c anaconda ipykernel
Then each user can make a kernel from this env for themselves:Â
They need to activate this env first by
source activate ENV
python -m ipykernel install --user --name=<exact name of the env>