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.
I'm a Homebrew maintainer; I strongly suggest you use
pyenv
instead if you ever need anything but the most current Python versions. It's a much nicer solution in part because it's designed to handle switching scripts back and forth, which is very difficult for Homebrew to do.