# Installation of processing

Versions earlier than Python 2.4 are not supported. If you are using Python 2.4 then you should install the `ctypes` package (which comes automatically with Python 2.5).

Windows binary builds for Python 2.4 and Python 2.5 are available at

> http://pyprocessing.berlios.de

or

> http://pypi.python.org/pypi/processing

Otherwise, if you have the correct C compiler setup then the source distribution can be installed the usual way:

    python setup.py install

It should not be necessary to do any editing of `setup.py` if you are using Windows, Mac OS X or Linux. On other unices it may be necessary to modify the values of the `macros` dictionary or `libraries` list. The section to modify reads

    else:
        macros = dict(
            HAVE_SEM_OPEN=1,
            HAVE_SEM_TIMEDWAIT=1,
            HAVE_FD_TRANSFER=1
            )
        libraries = ['rt']

More details can be found in the comments in `setup.py`.

Note that if you use `HAVE_SEM_OPEN=0` then support for posix semaphores will not been compiled in, and then many of the functions in the `processing` namespace like `Lock()`, `Queue()` or will not be available. However, one can still create a manager using `manager = processing.Manager()` and then do `lock = manager.Lock()` etc.

# Running tests

To run the test scripts using Python 2.5 do

    python -m processing.tests

and on Python 2.4 do

    python -c "from processing.tests import main; main()"

This will run a number of test scripts using both processes and threads.