The exercises in this repo are based on Dive into Python3 and Learn Python the hard way.
It is also worth looking at the Hitchiker's Guide to Python for opinionated views on how to organise Python projects and good Python style and syntax.
OSX comes with Python 2.7 by default.
To control what version of the Python interpreter you are using you can use pyenv. To control which versions of libraries your program uses you use virtualenv.