Python
From charlesreid1
Python is a handy language whose syntax is easy to learn. Python is a scripting language that is similar in syntax to Matlab, but has the power of object-oriented languages such as C++. Python is also extensible, and many libraries and packages are available for nearly every function imaginable. For example, Numpy and Scipy provide tools often used in scientific programming, such as matrix and vector objects, not inherently provided by Python.
Installing Python
Mac
Mac comes with a version of Python built-in, but this version of Python is 2.5, at least 2 major versions behind the latest. It is recommended that you install the latest version of Python 2.x (stick with 2.x, since Python 3.x makes some very major changes and probably won't work as expected).
Python versions can be obtained here: http://www.python.org/download/releases/
Pick the version you want, and when you click on it, you'll be offered downloads of the source code and binaries for several platforms.
Linux
You can use your package manager to install a binary Python, or you can download the source code from here: http://www.python.org/download/
For instructions related to building software from source, go here: Compiling Software
Windows
You can download the latest version of Python for Windows from this page: http://www.python.org/download/
It is highly recommended that you install Python in the root of your C drive: when it asks you for an install location, specify C:\Python27.
You can then add folder locations to your $PYTHONPATH variable by editing the Windows environment variables. On Windows XP, right-click on My Computer, click the "Advanced" tab, and click the "Environmental Variables" button. On Windows 7, right-click on Computer, click the "Advanced settings..." link on the left-hand side, and click the "Environmental Variables" button. Once you're there, you'll create a new user variable: variable name PYTHONPATH and variable value C:\Python27 (if you want to add other locations, separate them using a semicolon; don't delete any locations that are already there, just add locations).
Python Settings
Python Path
Python uses modules, which are basically libraries of functions or code that can be downloaded and used. Some examples include Numpy and Scipy (described in further detail below, in the Py4Sci section. To import a module named foo, you would type (at the Python shell/interpreter):
>> import foo
When this is typed, Python looks in a couple of different locations for the module, contained in a file named foo.py. These locations are defined in an environmental variable called $PYTHONPATH. So basically, if you want to write your own module, or if you install a module that does not automatically update $PYTHONPATH (most modules will), you will need to modify $PYTHONPATH manually. This variable is created with the same syntax as the system $PATH variable; that is, locations are separated by commas, and you can add to the existing value of $PYTHONPATH by putting this in your .profile file:
export $PYTHONPATH="${PYTHONPATH}:/path/to/foo.py"
Packages
Py4Sci
The Py4Sci (Python 4 Science) suite consists of 4 Python extensions, which combine to provide a Matlab-like environment. These extensions are:
- iPython - provides an enhanced Python shell
- Numpy - an extension providing numerical routines for vector and matrix objects
- Scipy - an extension providing MATLAB-like functionality (optimization, Fourier transforms, ODE solvers, etc.), typically used in conjunction with data types provided through the Numpy extension
- Matplotlib - provides 2D plotting functionality to Python
Py4Sci on Linux
This is very straightforward, given that most every distribution's package manager has the above 4 Python extensions (in fact, many distributions already have at least some of the above packages, esp. iPython). Use the following commands for Debian-based distributions (e.g. Ubuntu):
$ apt-get install ipython $ apt-get install numpy $ apt-get install scipy $ apt-get install matplotlib
where one may replace "apt-get" with the appropriate package manager (e.g. "yum" for Fedora).
Py4Sci on Mac
This was formerly a very difficult and frustrating process, which has since become much easier and much more streamlined.
Instructions for installing SciPy and NumPy on Mac OS X are here: http://www.scipy.org/Installing_SciPy/Mac_OS_X
Installing Matplotlib is easy too: just download the source code, or your platform's binary, from the Matplotlib SourceForge page: http://sourceforge.net/projects/matplotlib/
Finally, you can download iPython for Mac by going to the iPython downloads page: http://ipython.scipy.org/moin/Download (installation instructions are contained in the iPython documentation, linked from that page)
Py4Sci on Windows
The instructions are similar to those for Mac...
SciPy and NumPy installation instructions here: http://www.scipy.org/Installing_SciPy/Windows
Matplotlib installation can be done using the Windows binary, available here: http://sourceforge.net/projects/matplotlib/
iPython installation is also easy, using the Windows binary provided here: http://ipython.scipy.org/moin/Download
Cantera
Cantera is a package that provides a Python interface for performing thermochecmial calculations. You can find information about installing Cantera at the Cantera page. For examples of how to use Cantera, including the Python interface, visit the Cantera Lecture page.