RunCell.dev

How to install Jupyter Lab or Notebook in 2025

1. Why Jupyter Lab over the classic Notebook?

  • Jupyter Lab is the project’s “next‑generation” UI – tabbed work area, side‑by‑side documents, built‑in terminals, extensible plug‑in system and Notebook‑7 file‑format compatibility.
  • Notebook‑7 will eventually replace the classic Notebook, but both open the same .ipynb files, so adopting Lab today is future‑proof.

2. TL;DR – 30‑second install

Already have Python ≥ 3.9 on your PATH and just want to run a notebook?

pip install --upgrade jupyterlab
jupyter lab

The PyPI wheel (latest release 4.4.5, 20 July 2025) auto‑pulls all core dependencies.

If you still need the classic UI as well:

pip install notebook   # installs Notebook 7 alongside Lab

3. Pre‑flight checklist

RequirementNotes
Python 3.9 – 3.13Lab 4 officially supports these versions
Modern browserFirefox, Chrome or Safari are tested.
(Optional) Node ≥ 20Needed only when you build source extensions.

4. Progressive installation paths

python -m venv .venv
# Windows: .venv\Scripts\activate
# macOS/Linux: source .venv/bin/activate
pip install jupyterlab           # or 'pip install -U jupyterlab'
jupyter lab                      # launches on http://localhost:8888/lab

This isolates notebook dependencies from your system Python while staying lightweight.


4.2 uv – ultra‑fast lock‑file manager (✨ 2024‑25 newcomer)

uv can create the venv and resolve wheels 10‑20× faster than pip:

curl -sSf https://astral.sh/uv/install | sh     # one‑liner installer
uv venv --seed                                  # create & seed .venv
uv pip install jupyterlab                       # or: uv add jupyterlab
uv run --with jupyter jupyter lab

The official guide explains how to generate dedicated kernels, %uv add packages from inside the notebook, and integrate with VS Code.


4.3 conda / mamba – batteries‑included data‑science stacks

Conda‑forge maintains Lab builds for every platform:

conda install -c conda-forge jupyterlab      # classic conda
mamba install -c conda-forge jupyterlab      # drop‑in faster solver

Using conda keeps compiled libs (NumPy, pandas, etc.) consistent and lets you pin GPU, CUDA or R packages in the same environment.


4.4 Container images (Docker / Podman / Kubernetes)

ScenarioOne‑liner (quay.io images avoid Docker‑Hub rate limits)
CPU‑only minimaldocker run --rm -p 8888:8888 quay.io/jupyter/minimal-notebook:python-3.12
Data‑science stackdocker run --rm -p 8888:8888 quay.io/jupyter/datascience-notebook:python-3.12
GPU‑accelerated TFdocker run --gpus all -p 8888:8888 quay.io/jupyter/tensorflow-notebook:cuda-latest

The Jupyter Docker stacks switched their default registry to Quay in 2024 to bypass Hub rate‑limits, and now publish official CUDA‑enabled tags for PyTorch & TensorFlow.

Tip: Mount your workspace with -v $(pwd):/home/jovyan/work to keep notebooks outside the container.


4.5 VS Code integration

  1. Install the “Jupyter” extension (> 93 M installs) from the marketplace.
  2. Pick any Python/Conda/uv environment that already has jupyter on PATH; VS Code will detect it as a kernel.
  3. Use Remote SSH / Dev‑Containers / Codespaces to point the kernel picker at a remote server. The official docs cover kernel management and switching.

4.6 Zero‑install cloud notebooks

  • Google Colab – free GPU notebooks, now with an AI “agent” that can auto‑fix code and manage cells announced at I/O 2025.
  • Binder / Voilà / Kaggle – launch transient JupyterLab sessions from a Git repo in one click.
  • Enterprise JupyterHub / JupyterLite – browser‑only Lab that runs on WebAssembly; great for docs and static demos.

5. Updating or removing

# pip / uv
pip install -U jupyterlab          # or uv pip install -U jupyterlab
pip uninstall jupyterlab           # removes Lab but not your notebooks

# conda / mamba
mamba update jupyterlab
mamba remove jupyterlab

When Docker images are updated daily you simply docker pull the new tag.


6. Next steps

  • Explore Lab extensions (variable inspector, Git, LSP, dashboards).
  • Learn %pip / %conda magics for in‑notebook installs.
  • Try GPU kernels (e.g., pycuda, cupy) inside the new CUDA stacks.
  • For team workflows, pair Lab with JupyterHub or integrate into VS Code’s Live Share.

Feel free to bookmark this guide – the commands above should stay valid for the entire Jupyter Lab 4.x lifecycle. Happy coding!