Jupyter Notebook
Getting started with Jupyter Notebook.
ExCl → User Documentation → Jupyter Quick Start
Installing Jupyter
Since there are many ways to install Jupyter using various python management tools, I will not reproduce the documentation here. The official documentation for installing Jupyter can be found at Project Jupyter | Installing Jupyter. However, I will highlight the methods of using Jupyter with UV, running Jupyter Notebooks in VS Code, and the alternative to Jupyter notebooks, Marimo | ExCL User Docs. These methods are all the methods that I typically use when working with python notebooks.
Jupyter with UV
See the UV documentation, Using uv with Jupyter | uv. This documentation is well written and covers:
Jupyter kernels using virtual environments
See How To Setup Jupyter Notebook In Conda Environment And Install Kernel - Python Engineer (python-engineer.com). Although I no longer recommend using conda in ExCL, the following steps are still a good way to manually create and use a kernel from Jupyter.
Create a python virtual environment and activate it. Then install ipykernel
and then install the kernel for use in Jupyter.
pip install ipykernel
ipython kernel install --user --name=<any_name_for_kernel>
Use jupyter kernelspec list
to view all the installed Jupyter kernels.
jupyter kernelspec list
To uninstall a Jupyter kernel use uninstall.
jupyter kernelspec uninstall <unwanted-kernel>
Accessing a Jupyter Notebook Running on ExCL
A Jupyter notebook server running on ExCL can be accessed via a local web browser through port forwarding the Jupyter notebook's port. By default, this is port 8888 (or the next available port). This port might be in use if someone else is using running a notebook. You can specify the port with the --port
flag when launching the Jupyter notebook. To use a different port just replace 8888 with the desired port number. In order to port forward from an internal node, you have to port forward twice, once from your machine to login.excl.ornl.gov and once again from the login node to the internal node (i.e. pcie).
Detailed instructions for Linux/Mac
These instructions go over how to access a Jupyter notebook running on the pcie node in the ExCL Cluster. If you want to access a different system, then replace pcie
with the system you intend to access.
Specify the ports that you intend to use. Choose a different number from the default so that you don't conflict with other users.
export REMOTE_PORT=8888 export LOCAL_PORT=8888
From your local machine connect to pcie using login.excl.ornl.gov as a proxy and local forward the jupyter port.
ssh -L $LOCAL_PORT:localhost:$REMOTE_PORT -J [email protected] $USER@pcie
(Optional) Load the anaconda module if you don't have jupyter notebook installed locally.
module load anaconda3
Launch the Jupyter server on pcie
export REMOTE_PORT=8888 jupyter notebook --port $REMOTE_PORT
Connect to the Jupyter notebook using a web browser on your local machine. Use the token shown in the output from running the Jupyter server. Url:
http://localhost:<local_port>/?token=<token>
. You can also configure jupyter to use a password withjupyter notebook password
if you don't want to use the access tokens.
If you ssh client is too old for proxyjump to work, you can always break up the process into another step.
From your local machine connect to login.excl.ornl.gov and local port forward port 8888.
$ ssh -L 8888:localhost:8888 <username>@login.excl.ornl.gov
From the login node connect to pcie and local port forward port 8888
$ ssh -L 8888:localhost:8888 pcie
Launch the Jupyter server on pcie
$ jupyter notebook
Connect to the Jupyter notebook using a web browser on your local machine. Use the token shown in the output from running the Jupyter server. Url:
http://localhost:8888/?token=<token>
Detailed instructions for Windows with MobaXterm
These instructions go over how to access a Jupyter notebook running on the pcie node in the ExCL Cluster.
From your local machine connect to login.excl.ornl.gov using MobaXterm.
MobaXTerm SSH Go to tools and click on MobaSSHTunnel. Use MobaSSHTunnel local forward port 8888.
Click on MobaSSHTunnel Click on MobaSSHTunnel
Click on New SSH Tunnel Click on New SSH Tunnel
Local port forward 8888 Local port forward 8888
Click the play button to start port forwarding Click the play button to start port forwarding
From the login node connect to pcie and local port forward port 8888
$ ssh -L 8888:localhost:8888 pcie
Launch the Jupyter server on pcie
$ jupyter notebook
Connect to the Jupyter notebook using a web browser on your local machine. Use the token shown in the output from running the Jupyter server. URL:
http://localhost:8888/?token=<token>
Detailed instructions for Windows with Visual Studio Code
These instructions go over how to access a Jupyter notebook running on the quad00 node in the ExCL Cluster using Visual Studio Code to handle port forwarding.
Open Visual Studio Code
Make sure you have the Remote - SSH extension installed.
SSH Extension VS Code Setup .ssh
Navigate to the remote explorer settings. Navigate to the remote explorer settings.
Chose the user .ssh config. Chose the user .ssh config.
Add the remote systems to connect to with the proxy command to connect through the login node. Add the remote systems to connect to with the proxy command to connect through the login node.
Connect to the remote system and open the Jupyter folder.
Connect step 1 Open Folder Open Folder
Run the Jupyter notebook using the built-in terminal.
Run Jupyter Open the automatically forwarded port.
Open Port
Last updated
Was this helpful?