Previous versions used homebrew to install the various versions. As suggested in the comments, it's better to use pyenv
instead. If you are looking for the previous version of this document, see the revision history.
$ brew update
$ brew install pyenv
$ pyenv install 3.5.0
$ pyenv install 3.4.3
$ pyenv install 3.3.6
$ pyenv install 3.2.6
$ pyenv install 2.7.10
$ pyenv install 2.6.9
$ pyenv versions
* system (set by /Users/bouke/.pyenv/version)
2.6.9
2.7.10
3.2.6
3.3.6
3.4.3
3.5.0
Then, when you need a certain version:
pyenv local 3.5.0
This will create a file .python-version
, so pyenv will remember the Python version for this directory. This works also nice with tox
, as you can activate many Python version at once. See the pyenv documentation for more information.
See also Using tox and pyenv for testing and development for a more detailed how-to.
The Python 3.2 install will fail on newer versions of Homebrew because the formula is incompatible. I had to comment out lines 133-141 of
Library/Formula/python3.rb
and install Setuptools and Pip manually after the Python install finished.Other than that, worked perfectly, thanks for taking the time to document this. :)