Installing Python 3 and Jupyter notebook on Mac OS

This is my preferred way to install Python and Jupyter notebook for doing scientific data analysis. There are many alternative ways of doing this that you can find on Google. I’m doing this on a MacBook Pro (Retina, 13-inch, Early 2015) with macOS High Sierra 10.13.3.

In the past, I used virtualenv to manage virtual environments with Python 2. Python3 has built-in handling of virtual environments, so I use that here instead. If you need to use Python 2, then you’ll want to install virtualenv (see first link at the bottom).

Install Homebrew

All of these steps are done in the Mac OS Terminal, so start that first.

First install XCode:

xcode-select --install

Install Homebrew:

ruby -e "$(curl -fsSL"

Open or create the file ~/.bash_profile and write:

export PATH=/usr/local/bin:$PATH

Install Python 3

As of 2018-4-9, this will install Python 3 (I think previously it installed Python 2):

brew install python

Set up virtual environment

By default, Python 3 comes with the ability to create virtual environments.

Make a folder to host your virtual envs:

mkdir .virtualenvs

Create a virtual env for Jupyter:

python3 -m venv .virtualenvs/jupyter/

Run virtual environment and Jupyter

Start the virtual env:

source .virtualenvs/jupyter/bin/activate

Install packages for scientific computing:

pip install numpy scipy matplotlib jupyter pandas

Run Jupyter:

jupyter notebook

A browser window will open with the Jupyter file browser in your current working directory.

Exit Jupyter and virtual environment

Jupyter notebook will run in your terminal window until you close it (with Ctrl-C).

You can close the virtual environment with:


UPDATE 2018-04-19: A very useful (and IMO essential) addition to Jupyter notebook is the Table of Contents extension. I show how I install this in a different blog post.


This entry was posted in Data analysis, Not biology. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s