How to Install Jupyter Notebook on macOS
Install Jupyter Notebook on macOS
Jupyter Notebook is one of the fastest ways to experiment with Python code, share interactive documents, and prototype data workflows. macOS gives you several ways to install it, so you can choose the workflow that best fits your toolchain. This guide compares the most common options, highlights when to reach for each one, and walks through the exact commands to get everything running smoothly.
Before you start
- Make sure you have a recent version of Python. macOS Sonoma and newer include Python 3.11, but many developers prefer to install the latest Python from python.org or via Homebrew (
brew install python). - Open the Terminal application. All commands below are intended to run there.
- If you already installed Jupyter through one method, uninstall it before trying another to avoid confusing PATH entries.
Quick install with pip
If you only need Notebook occasionally and do not mind installing packages globally, use the pip command that ships with Python:
python3 -m pip install --upgrade pip
python3 -m pip install jupyterLaunch Notebook once the install finishes:
jupyter notebookThis approach works for quick experiments, but global installs can accumulate conflicting packages over time. Consider using a virtual environment for anything more than a throwaway session.
Recommended: pip inside a virtual environment
Virtual environments isolate dependencies for each project and prevent package conflicts. They are lightweight, standard, and easy to automate. To install Jupyter inside a venv:
-
Create and activate a virtual environment.
python3 -m venv ~/.venvs/jupyter source ~/.venvs/jupyter/bin/activate -
Upgrade
pipand install Jupyter.python -m pip install --upgrade pip python -m pip install jupyterlab notebook -
Launch Notebook (the
jupytercommand resolves to the copy inside the virtual environment).jupyter notebook -
When you are done, deactivate the environment with
deactivate. Reactivate it any time you need Notebook again by runningsource ~/.venvs/jupyter/bin/activate.
💡 Tip: Add
python -m pip install ipykernelto make the environment available as a kernel in other editors like VS Code.
Install with Conda (Anaconda or Miniconda)
Conda bundles Python, package management, and environment isolation. It is ideal if you work with data science libraries that ship Conda packages or if you prefer graphical installers.
-
Install Miniconda or the full Anaconda distribution for macOS (Intel or Apple Silicon).
-
Open a new Terminal window so that the
condacommand is on your PATH. -
Create an environment and add Jupyter:
conda create --name notebooks python=3.11 conda activate notebooks conda install jupyterlab notebook -
Start Notebook with
jupyter notebook. Because Conda environments are isolated, each environment can hold a different Python version or set of packages without clashing.
Install with Homebrew
Homebrew is the most popular package manager for macOS. Use it if you already rely on Brew to manage developer tools:
brew update
brew install jupyterlabHomebrew installs the jupyter command to /opt/homebrew/bin (Apple Silicon) or /usr/local/bin (Intel). If you prefer the classic Notebook interface instead of JupyterLab, you can still launch it with jupyter notebook.
⚠️ Homebrew installs Jupyter system-wide. If you need multiple versions of Python or isolated dependencies, pair Brew with virtual environments or Conda instead.
JupyterLab Desktop for macOS
Project Jupyter maintains a desktop application that bundles JupyterLab with its own Python runtime. Download it from the JupyterLab Desktop release page and drag the app into your Applications folder. After launching the app you can open or create notebooks without touching the command line. It still respects Conda environments or virtual environments if you connect them via the kernel selector.
This option is perfect for new users who prefer a GUI or teams that need a self-contained installation.
Choosing the right path
| Method | When to use it | Notes |
|---|---|---|
pip (global) | Quick experiments, short-lived scripts | Fastest setup, but shares packages across projects. |
pip + venv | Everyday development, reproducible environments | Recommended for most Python workflows; isolate dependencies per project. |
| Conda | Data science stacks, multiple Python versions | Excellent package availability and environment management. |
| Homebrew | Brew-based toolchains, system administrators | Installs once for the whole machine; combine with venv for isolation. |
| JupyterLab Desktop | GUI-first users, sandboxed installs | Drag-and-drop app with bundled Python runtime. |
Whatever you choose, keep your environments tidy by periodically removing unused packages and pinning versions in a requirements.txt or environment.yml. Jupyter Notebook will feel right at home on your Mac once you do.