How to Customize JupyterLab with conda Environments
Note
If you have a conda environment of your own set up and ready, skip to step 6: “Add your environment to the list of jupyter kernels available to jupyterlab and Open OnDemand.”.
- Open a DeltaAI terminal (direct SSH). 
- Load - python/anaconda3_pytorch/<version>. (Pick which version you want to use as your base installation, the example uses- python/anaconda3_pytorch/jax.)- arnoldg@gh001:~> module load python/miniforge3_pytorch/jax arnoldg@gh001:~> which python /sw/user/python/miniforge3-pytorch-jax-0.4.29/bin/python 
- Initialize your default login shell to use conda environments. - arnoldg@gh001:~> conda init ... modified /u/arnoldg/.bashrc ==> For changes to take effect, close and re-open your current shell. <== arnoldg@gh001:~> bash (base) arnoldg@gh001:~> 
- Create your custom environment by making an empty environment or cloning your chosen environment or module (10 to 30 minutes). A few things to consider: - If you omit - --clone, your new environment will be mostly empty except for conda commands.
- You can customize the environment using conda and/or pip to install software (be sure to install jupyter into the environment if not cloning). 
- A cloned environment will contain everything from base, so it can take up to 30 minutes to deploy. 
- Large conda installations may exceed your home directory size. This can be avoided by relocating your .conda directory to your project space, which has a larger quota than your home directory. 
 - The example environment name is - myjax.- (base) arnoldg@gh001:~> conda create --prefix /u/arnoldg/myjax --clone=base Collecting package metadata (current_repodata.json): done Solving environment: done ## Package Plan ## environment location: /u/arnoldg/myjax Proceed ([y]/n)? y Preparing transaction: done Verifying transaction: done Executing transaction: done # # To activate this environment, use # # $ conda activate /u/arnoldg/myjax # # To deactivate an active environment, use # # $ conda deactivate
- Activate the new environment. - (base) arnoldg@gh001:~> conda activate /u/arnoldg/myjax (/u/arnoldg/myjax) arnoldg@gh001:~> 
- Add your environment to the list of jupyter kernels available to jupyterlab and Open OnDemand. - The purpose of this step is to make sure your new environment kernel is added to - $HOME/.local, as shown. It will then appear along with the default Lmod modules that are loaded when Open OnDemand starts jupyterlab. Your $PATH should contain a jupyter-notebook by this step.- (/u/arnoldg/myjax) arnoldg@gh002:~> which jupyter-notebook /u/arnoldg/myjax/bin/jupyter-notebook (/u/arnoldg/myjax) arnoldg@gh001:~> python -m ipykernel install --user --name myjax --display-name myjax Installed kernelspec myjax in /u/arnoldg/.local/share/jupyter/kernels/myjax (/u/arnoldg/myjax) arnoldg@gh001:~> jupyter kernelspec list Available kernels: python3 /u/arnoldg/myjax/share/jupyter/kernels/python3 myjax /u/arnoldg/.local/share/jupyter/kernels/myjax 
- OPTIONAL - Note - If you want to keep the environment modifications with your default login environment, skip this step. - Restore your default environment with the following commands. You may repeat the steps above to add additional environment kernels to jupyterlab. - (/u/arnoldg/myjax) arnoldg@gh001:~> conda init --reverse (/u/arnoldg/myjax) arnoldg@gh001:~> conda deactivate (base) arnoldg@gh001:~> conda deactivate arnoldg@gh001:~> module reset Running "module reset". Resetting modules to system default. The following $MODULEPATH directories have been removed: None arnoldg@gh001:~> # note that the default anaconda used by jupyterlab now contains your new kernel arnoldg@gh001:~> module load python/anaconda3_pytorch arnoldg@gh001:~> jupyter kernelspec list Available kernels: myjax /u/arnoldg/.local/share/jupyter/kernels/myjax python3 /sw/user/python/miniforge3-pytorch-2.5.0/share/jupyter/kernels/python3 
- Start an Open OnDemand Jupyter session. 
- In JupyterLab, you can hover over items in the Launcher to see which environment will be used; select the one you want for this session. 