You need to have the following software properly installed in order to build PETSc for Python:
[1] | Unless you have appropiatelly configured and built PETSc PETSc without MPI (configure option --with-mpi=0). |
[2] | In order to build PETSc with shared libraries, you have to pass --with-shared option to PETSc’s configure script. |
[3] | You may need to use a parallelized version of the Python interpreter with some MPI-1 implementations (e.g. MPICH1). |
If you already have a working PETSc you can take advantage of setuptools’s easy_install command:
$ export PETSC_DIR=/path/to/petsc
$ export PETSC_ARCH=linux-gnu # may not be required
$ easy_install petsc4py
The PETSc for Python package is available for download at the project website generously hosted by Google Code. You can use wget to get a release tarball:
$ wget http://petsc4py.googlecode.com/files/petsc4py-X.X.X.tar.gz
After unpacking the release tarball:
$ tar -zxf petsc4py-X.X.X.tar.gz
$ cd petsc4py-X.X.X
the distribution is ready for building.
Note
Mac OS X users employing a Python distribution built with universal binaries may need to set the environment variables MACOSX_DEPLOYMENT_TARGET, SDKROOT, and ARCHFLAGS to appropriate values. As an example, assume your Mac is running Snow Leopard on a 64-bit Intel processor and you want to override the hard-wired cross-development SDK in Python configuration, your environment should be modified like this:
$ export MACOSX_DEPLOYMENT_TARGET=10.6
$ export SDKROOT=/
$ export ARCHFLAGS='-arch x86_64'
Some environmental configuration is needed to inform the location of PETSc. You can set (using setenv, export or what applies to you shell or system) the environmental variables PETSC_DIR, and PETSC_ARCH indicating where you have built/installed PETSc:
$ export PETSC_DIR=/usr/local/petsc
$ export PETSC_ARCH=linux-gnu
Alternatively, you can edit the file setup.cfg and provide the required information below the [config] section:
[config]
petsc_dir = /usr/local/petsc
petsc_arch = linux-gnu
...
Finally, you can build the distribution by typing:
$ python setup.py build
After building, the distribution is ready for installation.
You can do a site-install type:
$ python setup.py install
or, in case you need root privileges:
$ su -c 'python setup.py install'
This will install the petsc4py package in the standard location prefix/lib/pythonX.X/site-packages.
You can also do a user-install type. Threre are two options depending on the target Python version.
For Python 2.6 and up:
$ python setup.py install --user
For Python 2.5 and below (assuming your home directory is available through the HOME environment variable):
$ python setup.py install --home=$HOME
and then add $HOME/lib/python or $HOME/lib64/python to your PYTHONPATH environment variable.