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
Requirement | Notes |
---|---|
Python 3.9 – 3.13 | Lab 4 officially supports these versions |
Modern browser | Firefox, Chrome or Safari are tested. |
(Optional) Node ≥ 20 | Needed only when you build source extensions. |
4. Progressive installation paths
4.1 pip
in a clean virtual‑env (recommended for most)
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)
Scenario | One‑liner (quay.io images avoid Docker‑Hub rate limits) |
---|---|
CPU‑only minimal | docker run --rm -p 8888:8888 quay.io/jupyter/minimal-notebook:python-3.12 |
Data‑science stack | docker run --rm -p 8888:8888 quay.io/jupyter/datascience-notebook:python-3.12 |
GPU‑accelerated TF | docker 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
- Install the “Jupyter” extension (> 93 M installs) from the marketplace.
- Pick any Python/Conda/uv environment that already has
jupyter
on PATH; VS Code will detect it as a kernel. - 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!