Thursday, July 24, 2014

Installing a Python 3 Scientific Computing Environment

Python is a versatile and complete scientific computing environment. With NumPy, SciPy and Matplotlib modules, it gets most of the capabilities that one finds in a barebones Matlab environment. After this, you can choose the modules appropriate to your applications. For example, Pandas adds data structures and analysis tools for data analysis. SymPy brings symbolic computing to Python. Then there are the development environments that aid exploratory computing - IPython, Spyder, IEP to name a few. And the game changer, IPython Notebook - a web notebook that combines easy documentation using Markdown and LaTex with live code, output and graphs that can be easily shared or exported to a number of formats. You couldn't ask for more.

Setting up a simple scientific computing environment in Python is also a straight forward matter. Download Python, setuptools, easy_install and pip. Then use pip to download and install NumPy, SciPy, Matplotlib, IPython, IPython-notebook, Pandas, SymPy and any other module you wish to use. You can choose either Python 2 or Python 3. However, choosing Python 2 is the preferred choice at present, perhaps because some modules may not yet be ported to Python 3. Pre-compiled 32-bit and 64-bit binary versions for Windows, for both Python 2 and Python 3, are available at http://www.lfd.uci.edu/~gohlke/pythonlibs/.

With Python gaining significant ground in scientific computing and data analysis, several Python distributions are also available. Especially notable are Anaconda by Continuum Analytics and Enthought Canopy by Enthought. They are Python 2 based, have a package manager to add new modules and update old ones. Continuum Analytics now has a distribution which it calls Miniconda that lets you setup a Python 3 scientific computing environment.