Comparison of Scientific Python Distributions

By | December 19, 2014

Scientific python

Python, being the straightforward, versatile little language that it is, has for some time found it’s place doing the heavy lifting in much scientific data processing and analysis.

Although the strength of its scientific and numerical packages has meant that it can readily square off against the likes of matlab and mathematica, I’d always found the lack of a unified, installable distribution to be something of a barrier to my using it.

I’d want to start my analysis with python, but would find that to carry out simple procedures I’d have to download and install various modules and packages before I could start. And even then I found I missed things like the interactive shell in matlab.

Thankfully, in recent years there have been released a number of scientific python distributions which make scientific work with python that much easier.

What do I mean by scientific python?

By scientific python I’m essentially meaning replacing matlab, the de facto standard of scientific programming. For me that means:

  • Interactive shell
  • Arrays
  • Matrices
  • Easy data import/export
  • Plotting
  • Fitting

I’m sure there’s much more out there that both python and matlab are capable of, but if I can have those things, I’m not too fussed about anything else.

And I’d really like to be able to do all that without having to hunt around for a specific python module or package.

Scientific Python Distributions to the Rescue

It’s true that python has access to some top quality modules for data processing and analysis, but I’d always been put off by the accessibility issue. I didn’t want to have to know which module to install, and have to mess about finding the right version. Initially I found I was having trouble with finding an interactive python shell that would work in windows.

Thankfully these problems now seem to have been solved and there are now a selection of different suites of programs, based on python, but offering a matlab-like level of scientific and numerical programming, with a matlab-like ease of use.

So here’s a comparison of scientific python distributions that I’ve come across.

1. Winpython

WinPythonWinpython was the first time I encountered the Spyder interface. As someone who likes the matlab-style all in one window, this was great. The current incarnation of Winpython seems to do a good job of bringing together

2. Enthought Python Distribution (EPD)

epd-logoThe Enthought Python Distribution had been python distribution of choice: the Ipython worked were I had been unable to get it to work before.

I enjoyed the simplistity of the earlier versions, which were essentially just an Ipython interactive shell. The more recent versions have come bundled with… which I’m not so keen on.

At present EPD comes in three versions: Canopy Express, Basic or Professional. There are also academic licenses available.

3. Anaconda

anaconda_logo_webRecommended by Software Carpentry, Anaconda is another fine python distribution. It comes bundled with a range of scientific and numerical packages as well as a nice interface….

 

Based on sound open principles, I think this is my current favourite distribution, although it does come with a few bells and whistles.

4. Or you could roll your own…

Strictly speaking it’s possible to ‘roll your own’ scientific python distribution, and just install those packages you need. In practice though I really wouldn’t recommend this as you may quickly find you encounter dependency and version problems, particularly if you are a windows user.