This page provides the instructions for how to install and run IPython and Jupyter Notebook in a virtualenv on Mac.
Most probably your Mac has already come with Python installed (see step 1 and step 2 below to check whether Python and Python 3 is installed on your mac, because my Mac book air has both Python and Python3.6 installed, I will go ahead to step 3 to install virtualenv).
Open a terminal on your mac and type in Python and Python3 to see whether Python and Python3 installed on your mac. See below for example.
Follow the steps below for detailed instructions.
Step 1: Check whether Python is installed on your Mac
To test whether your Mac has Python 2.x or 3.x, look at the instructions below.
Open a terminal (in your launchpad, type in terminal, and then click and open it.)

Type in python, if you see similar thing as the pic shown below, it means python 2.7 was installed on your Mac

type exit() to exit from the Python 2.7 environment

Type python3 in your terminal, if you see similar warning as the pic shown below, it means you will need to install Python 3 (see the steps below for installation). If you see older version (< 3.5) of python 3 installed on your mac, follow step 2 to install Python 3.5

Step 2: Install Python 3.5
I recommend you download Python 3.5.4 from here, if you do not have Python 3.x pre-installed on your mac.
https://www.python.org/downloads/mac-osx/

Click the installer and install it following the wizard.
When you finish the installation, type python3 in your terminal, if you see similar stuff in the pic below, Python 3.5 is installed successfully and you are ready to proceed to step 3.

Step 3: Install virtualenv
Note: the command text in blue is the exact command you should type into your terminal, the same through this whole instruction.
Lipings-MacBook-Pro:~ Liping$ pip3 install virtualenv
Step 4: Setup virtualenv environment
Issue the command below to set up a virtualenv environment that we will use later, using the vitualenvwe installed in step 3 above.
$ virtualenv --system-site-packages -p python3 ~/ipy-jupyter-venv3
Step 5: Install IPython
Before installing IPython and Jupyter Notebook, be sure to activate your python virtual environment first.
$ source ~/ipy-jupyter-venv3/bin/activate
(ipy-jupyter-venv3)$ # Your prompt should change
Type the following command to install IPython
(ipy-jupyter-venv3) liping:~$ pip3 install ipython
Step 6: Install Jupyter Notebook
Use the following command to install Jupyter Notebook
(ipy-jupyter-venv3) liping:~$ pip3 install jupyter
Step 7: Test jupypter notebook installation
(ipy-jupyter-venv3) liping:~$ which python3
/Users/Liping/ipy-jupyter-venv3/bin/python3
#for python 3.x
(ipy-jupyter-venv3) liping:~$ which ipython3
/Users/Liping/ipy-jupyter-venv3/bin/ipython3
#for python 3.x
(ipy-jupyter-venv3) liping:~$ which jupyter-notebook
/Users/Liping/ipy-jupyter-venv3/bin/jupyter-notebook
Step 8: Add Kernel
The Jupyter Notebook and other frontends automatically ensure that the IPython kernel is available. However, if you want to use a kernel with a different version of Python, or in a virtualenv environment, you’ll need to install that manually.
We are using virutalenv, so we need to install IPython kernel in the virtualenv we created in Step 4 above.
(ipy-jupyter-venv3) liping:~$ python3 -m ipykernel install --user --name myipy_jupter_env3 --display-name "ipy-jupyter-venv3"
Installed kernelspec myipy_jupter_env3 in /Users/Liping/Library/Jupyter/kernels/myipy_jupter_env3
Step 9: Before we are running our jupyter Notebook, let us create a folder from which we will start our jupyter notebook.
The following command will change our directory to Desktop (cd refers to change directory)
(ipy-jupyter-venv3) Lipings-MacBook-Pro:~ Liping$ cd Desktop
the following command will help us create a folder named Geog597_ML_session under our Desktop folder
(ipy-jupyter-venv3) Lipings-MacBook-Pro:Desktop Liping$ mkdir test_jupyter
the following command will change our directory into the folder we just created.
(ipy-jupyter-venv3) Lipings-MacBook-Pro:Desktop Liping$ cd test_jupyter/
(ipy-jupyter-venv3) Lipings-MacBook-Pro:test_jupyter Liping$
Step 10: Run Jupyter Notebook
(ipy-jupyter-venv3) Lipings-MacBook-Pro:test_jupyter Liping$ jupyter-notebook
Then your default browser should automatically open a web page similar to the one shown below.

If the web page does not show up automatically, just type localhost:8888 into your browser, you should see the page shown above.
Step 11: Testing and Using Jupyter Notebook
By this point you should have Jupyter Notebook running, and you should be connected to it using a web browser. Jupyter Notebook is very powerful and has many features. Below I will outline a few of the basic features to get you started using the notebook. Automatically, Jupyter Notebook will show all of the files and folders in the directory it is run from (for our case, it is empty now, because we have not put anything in that folder Desktop/test_jupyter we just created in step 9 ).
To create a new notebook file, select New > ipy-jupyter-venv3 from the top right pull-down menu (Note: this is the so called kernel we installed in Step 8 above):
This will open a notebook. We can now run Python code in the cell or change the cell to markdown (markdown is for note, not for code). For example, change the first cell to accept Markdown by clicking Cell > Cell Type > Markdown from the top navigation bar, or by click the Markdown shown in the pic below. We can now write notes using Markdown, for example, type the following into the cell after changing it to markdown:
# Testing

Hit Ctrl + Enter, you will see it the text changed into heading style.

Then insert one cell by the menu shown below (insert Cell Below).

type in the following
a = 5
b = 10
print (a+b)
and then hit Ctrl + Enter. You should see the following.

Step 12: Stop jupyter Notebook.
To stop the Jupyter Notebook process, press CTRL+C
,
type Y
, and hit ENTER
to confirm. The following will be displayed:

Step 13: Exit virtualenv environment
Once you are done, remember to exit your virtualenv using the following command:
(ipy-jupyter-venv3) Lipings-MacBook-Pro:test_jupyter Liping$
deactivate
Note that your prompt changes back (see the pic below)

Step 14: Instructions for using Jupyter Notebook next time
Next time when you need to use you jupyther notebook, following the steps summarized below.
Lipings-MacBook-Pro:~ Liping$ source ~/ipy-jupyter-venv3/bin/activate
(ipy-jupyter-venv3)$ # Your prompt should change
Change directory to where you would like to start your jupyter-notebook
(ipy-jupyter-venv3) Lipings-MacBook-Pro:~ Liping$ cd Desktop/test_jupyter
(ipy-jupyter-venv3) Lipings-MacBook-Pro:test_jupyter Liping$
Run jupyter notebook:
(ipy-jupyter-venv3) Lipings-MacBook-Pro:test_jupyter Liping$ jupyter-notebook
Congratulations, you have now set up ipython and jupyter notebook on your mac!