So, what does Conda do well and what needs improvement? Continue reading “State of Conda, Oct. 2014”
These instructions detail how I install the scientific Python stack on my Mac. You can always check the Install Python page for other installation options.
I’m running the latest OS X Mountain Lion (10.8) but I think these instructions should work back to Snow Leopard (10.6). These instructions differ from my previous set primarily in that I now use Homebrew to install NumPy, SciPy, and matplotlib. I do this because Homebrew makes it easier to compile these with non-standard options that work around an issue with SciPy on OS X.
I’ll show how I install Python and the basic scientific Python stack:
Command Line Tools
The first order of business is to install the Apple command line tools. These include important things like development headers,
git. Head over to developer.apple.com/downloads, register for a free account, and download (then install) the latest “Command Line Tools for Xcode” for your version of OS X.
If you’ve already installed Xcode on Lion or Mountain Lion then you can install the command line tools from the preferences. If you’ve installed Xcode on Snow Leopard then you already have the command line tools.
Homebrew is my favorite package manager for OS X. It builds packages from source, intelligently re-uses libraries that are already part of OS X, and encourages best practices like installing Python packages with pip.
To install Homebrew paste the following in a terminal:
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
brew command and any executables it installs will go in the directory
/usr/bin/local so you want to make sure that goes at the front of your system’s
PATH. As long as you’re at it, you can also add the directory where Python scripts get installed. Add the following line to your
At this point you should close your terminal and open a new one so that this
PATH setting is in effect for the rest of the installation.
Now you can use
brew to install Python:
brew install python
Afterwards you should be able to run the commands
which python which pip
for each, respectively. (It’s also possible to install Python 3 using Homebrew:
brew install python3.)
It is possible to use
pip to install NumPy, but I use a Homebrew recipe so I avoid some problems with SciPy. The recipe isn’t included in stock Homebrew though, it requires “tapping” two other sources of Homebrew formula:
brew tap homebrew/science brew tap samueljohn/python
You can learn more about these at their respective repositories:
With those repos tapped you can almost install NumPy, but first you’ll have
pip to install nose:
pip install nose
brew install gfortran brew install numpy --with-openblas
And then you’re ready for SciPy:
brew install scipy --with-openblas
matplotlib generally installs just fine via
pip but the custom Homebrew formula takes care of installing optional dependencies too:
brew install matplotlib
brew install zeromq pip install jinja2 pip install tornado pip install pyzmq pip install ipython
Pandas should install via
pip install pandas
Testing It Out
The most basic test you can do to make sure everything worked is open up an IPython session and type in the following:
import numpy import scipy import matplotlib import pandas
If there are no errors then you’re ready to get started! Congratulations and enjoy!
Update: These instructions are over a year old, though they may still work for you. See the “Install Python” page for the most recent instructions.
A bit ago a friend and I both had fresh Mac OS X Lion installs so I helped him set up his computers with a scientific Python setup and did mine at the same time.
These instructions are for Lion but should work on Snow Leopard or Mountain Lion without much trouble. On Snow Leopard you won’t install Xcode via the App Store, you’ll have to download it from Apple.
After I’d helped my friend I found this blog post describing a procedure pretty much the same as below.
Update: If doing all the stuff below doesn’t seem like your cup of tea, it’s also possible to install Python, NumPy, SciPy, and matplotlib using double-click binary installers (resulting in a much less flexible installation), see this post to learn how.