Jupyter Visibility

Instead of making conda environments on our OLCF Jupyter Service itself, it is highly recommended to create environments on the HPC systems themselves and then expose them to Jupyter. This guide will walk you through how to create a custom environment that can then be used with Jupyter (both our service or a local installation).

OLCF Systems this guide applies to:

  • Andes

  • Frontier

Note

Summit users can follow this guide, but due to the architecture of Summit, some packages may not behave properly on OLCF’s JupyterLab.

Making your environment visible to Jupyter

Although this guide starts from a new environment, existing environments can follow the same steps (ignoring environment creation) to accomplish the same goal.

First, let’s load the relevant Python module along with the gnu compiler module (most Python packages assume GCC):

$ module load gcc/9.3.0
$ module load python
$ module load PrgEnv-gnu/8.3.3
$ module load miniforge3/23.11.0

Next, create your environment and activate it:

$ conda create -p /path/to/your/jupyter_env_andes python=3.10
$ source activate /path/to/your/jupyter_env_andes
$ conda create -p /path/to/your/jupyter_env_frontier python=3.10
$ source activate /path/to/your/jupyter_env_frontier

Note

Installing Python version 3.10 was just used as an example and is not required.

Next, install ipykernel which we will use to install a “Kernel” of your environment so that it can be used on Jupyter:

$ pip install ipykernel
$ pip install ipykernel

Finally, let’s use ipykernel to expose your environment to Jupyter:

$ ipython kernel install --user --name=jupyter_env_andes
$ ipython kernel install --user --name=jupyter_env_frontier

Note

Alternatively, you can do something like python -m ipykernel install --user --name jupyter_env

If successful, you should see something like Installed kernelspec jupyter_env in ~/.local/share/jupyter/kernels/jupyter_env

That is the final step and you should now be able to use your custom environment’s kernel on JupyterLab. You can either choose to launch new notebooks on Jupyter with this kernel or switch the kernels of existing notebooks to this environment’s kernel instead.

Note that if you ever need to delete the environment, you would also need to delete the corresponding kernel (e.g., ~/.local/share/jupyter/kernels/jupyter_env) to completely remove it from Jupyter’s cache.

For more information on how to use OLCF’s JupyterLab, please see Jupyter at OLCF page.