How to Run Jupyter Notebooks on an Apple M1 Mac with Roboflow
Published Mar 31, 2026 • 4 min read
SUMMARY

Run Jupyter notebooks on an Apple M1 Mac: install Apple's command line tools if python3 is missing, create a virtual environment, and pip install jupyterlab inside it, with the same steps working on every Apple Silicon chip. TensorFlow and PyTorch both run GPU-accelerated natively via tensorflow-metal and MPS.

Running Jupyter notebooks on an Apple M1 Mac takes about five minutes: install Apple's command line tools if Python is missing, create a virtual environment, and pip install JupyterLab inside it. The same steps apply to every Apple Silicon Mac, from the M1 through Apple's current chips.

This guide walks through the full setup, shows how to enable GPU-accelerated TensorFlow and PyTorch on Apple Silicon, and covers the errors people hit most often, including the outdated kernel-patch advice still floating around older forum threads.

What You Need

  • Any Apple Silicon Mac (M1 or newer)
  • The Terminal app (Command plus Space, type Terminal, hit Return)

Step 1: Check for Python

In Terminal, type python3 and hit Return.

If you see a version number and a >>> prompt, Python is installed. Type quit() and move to Step 2.

If you see a dialog offering to install the command line developer tools, accept it, or run:

xcode-select --install

This installs Apple's command line tools, which include Python 3. When it finishes, run python3 again to confirm.

Step 2: Create a Virtual Environment

Do not install Jupyter into the system Python. Recent macOS and Homebrew Python builds mark themselves externally managed, so a bare pip3 install returns an externally-managed-environment error, and even when it works it invites version conflicts later. A virtual environment sidesteps all of it:

python3 -m venv ~/jupyter-env
source ~/jupyter-env/bin/activate

Your prompt now shows (jupyter-env). Anything you pip install lands in this environment and nowhere else. To use it in a future Terminal session, run the source line again.

Step 3: Install and Launch Jupyter

With the environment active:

pip install jupyterlab
jupyter lab

Your browser opens JupyterLab, the current Jupyter interface. If you prefer the classic single-document notebook view, pip install notebook and jupyter notebook work the same way. Create a new Python 3 notebook, run a cell, and you are done with the base setup.

If a search result or forum thread tells you to edit eventloops.py inside ipykernel to stop your kernel from dying, skip it. That workaround addresses an ipykernel bug from the first weeks of the M1's release, fixed upstream in early 2021. On a current install, hand-patching site-packages solves nothing and creates a mystery for your future self.

Step 4: Add Kernels for Other Environments (Optional)

One Jupyter install can run notebooks against many projects. From any other virtual environment you want available in Jupyter:

pip install ipykernel
python -m ipykernel install --user --name my-project

The environment then appears as a kernel option in JupyterLab's launcher.

Prefer conda or uv?

The venv path above is the shortest. Two common alternatives work equally well on Apple Silicon: Miniconda ships native arm64 installers and suits teams already standardized on conda environments, and uv resolves and installs packages fast if you manage many environments. Whatever the manager, the pattern is the same: isolated environment first, Jupyter inside it.

Use the GPU: TensorFlow and PyTorch on Apple Silicon

Apple Silicon's GPU accelerates both major frameworks through Metal.

TensorFlow installs natively with pip, and the Metal plugin enables GPU execution:

pip install tensorflow tensorflow-metal

Verify the GPU is visible:

import tensorflow as tf
print(tf.config.list_physical_devices("GPU"))

PyTorch ships Apple Silicon support in the standard install, exposed through the MPS backend:

pip install torch
import torch
print(torch.backends.mps.is_available())

For computer vision work, this means you can fine-tune and run models locally on a MacBook, with the caveat that sustained training runs are still far faster on dedicated GPUs.

A common split: experiment in local notebooks, then hand the heavy training to hosted GPUs. Roboflow trains models like RF-DETR in the cloud from your browser, and the Roboflow notebooks repository has dozens of ready-to-run computer vision notebooks to open in your fresh Jupyter install.

Troubleshooting

  • command not found: jupyter. Your virtual environment is not active. Run source ~/jupyter-env/bin/activate and try again.
  • externally-managed-environment. You are pip installing into system Python. Create and activate a venv as in Step 2.
  • Kernel dies on import. Almost always a package conflict inside the environment, not a Mac problem. Recreate the venv and reinstall only what the notebook needs.
  • Wrong Python in a notebook. The notebook is using another kernel. Check the kernel picker in the top right of JupyterLab, and register your environment per Step 4.

Do I need to patch ipykernel to run Jupyter on an M1 Mac?

No. The kernel-crash bug that produced that advice was fixed in ipykernel in early 2021. A current pip install runs correctly out of the box on every Apple Silicon Mac.

Does TensorFlow work on Apple Silicon?

Yes. TensorFlow installs natively with pip on Apple Silicon, and the tensorflow-metal plugin adds GPU acceleration. PyTorch likewise supports the Apple GPU through its MPS backend.

Does Anaconda work on M1 Macs?

Yes. Anaconda and Miniconda both ship native Apple Silicon installers. Download the arm64 build and environments behave as they do on any other platform.

Should I use JupyterLab or Jupyter Notebook?

JupyterLab is the actively developed interface and the better default: tabs, a file browser, and extensions. The classic notebook interface remains available via the notebook package, and both open the same .ipynb files.

Is a Mac enough for training computer vision models?

For experimentation and small fine-tunes, yes, especially with Metal acceleration. For production training runs, hosted GPU training is faster and keeps your laptop usable; train in Roboflow and keep the notebook for analysis and prototyping.

You Are Set Up

Python, an isolated environment, JupyterLab, and GPU-accelerated frameworks: everything a data science workflow needs on an Apple Silicon Mac. If your notebooks are headed toward computer vision, create a free Roboflow account and pair your local Jupyter setup with hosted datasets, training, and deployment.

Cite this Post

Use the following entry to cite this post in your research:

Matt Brems. (Mar 31, 2026). How to Run Jupyter Notebooks on an Apple M1 Mac. Roboflow Blog: https://blog.roboflow.com/how-to-run-jupyter-notebooks-on-a-mac-m1/

Written by

Matt Brems
Growth Manager @ Roboflow. Previously solved data science problems across finance, education, politics, and more. Passionate about teaching and empowering others to accomplish more.