You can use pip to install petsc4py and its dependencies (mpi4py is optional but highly recommended):
$ pip install [--user] numpy mpi4py
$ pip install [--user] petsc petsc4py
Alternatively, you can use easy_install (deprecated):
$ easy_install petsc4py
If you already have a working PETSc installation, set environment variables PETSC_DIR and PETSC_ARCH to appropriate values and next use pip:
$ export PETSC_DIR=/path/to/petsc
$ export PETSC_ARCH=arch-linux2-c-opt
$ pip install petsc4py
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 without MPI (configure option --with-mpi=0). |
[2] | You may need to use a parallelized version of the Python interpreter with some MPI-1 implementations (e.g. MPICH1). |
The PETSc for Python package is available for download at the project website generously hosted by Bitbucket. You can use curl or wget to get a release tarball.
Using curl:
$ curl -O https://bitbucket.org/petsc/petsc4py/petsc4py-X.Y.tar.gz
Using wget:
$ wget https://bitbucket.org/petsc/petsc4py/petsc4py-X.Y.tar.gz
After unpacking the release tarball:
$ tar -zxf petsc4py-X.Y.tar.gz
$ cd petsc4py-X.Y
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 environment configuration is needed to inform the location of PETSc. You can set (using setenv, export or what applies to you shell or system) the environment variables PETSC_DIR, and PETSC_ARCH indicating where you have built/installed PETSc:
$ export PETSC_DIR=/usr/local/petsc
$ export PETSC_ARCH=arch-linux2-c-opt
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 = arch-linux2-c-opt
...
Finally, you can build the distribution by typing:
$ python setup.py build
After building, the distribution is ready for installation.
If you have root privileges (either by log-in as the root user of by using sudo) and you want to install PETSc for Python in your system for all users, just do:
$ python setup.py install
The previous steps will install the petsc4py package at standard location prefix/lib/pythonX.X/site-packages.
If you do not have root privileges or you want to install PETSc for Python for your private use, just do:
$ python setup.py install --user