How to install Jupyter Lab or Notebook in 2025
Install JupyterLab or Jupyter Notebook with pip, conda, or standalone distributions
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
.ipynbfiles, 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 labThe 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 Lab3. 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/labThis 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 labThe 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 solverUsing 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/workto 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
jupyteron 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 jupyterlabWhen 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/%condamagics 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!
Enable RunCell server extension (JupyterLab restart required)
Fix local backend not running (local ping failed) by restarting JupyterLab and enabling the RunCell Jupyter Server extension when needed
How to open Jupyter from the terminal (Windows and macOS)
Start JupyterLab or Jupyter Notebook from Windows and macOS terminals