### Navigation

- index
- next |
- previous |
- Pyro 4.23 documentation »

# Running on alternative Python implementations

Pyro is written in 100% pure Python which -theoretically- enables it to be used with any compatible Python implementation. There are a few gotchas however.

Note

If possible please use the most recent version available of the Python implementation.

## Jython

- You’ll need to use Jython 2.7 or newer (2.5 is no longer supported by Pyro)
- The multiplexing server type (select/poll-based server) is not reliable on Jython. You can only use the threadpool server type.
- You cannot use the `other` parameter to the requestloop of a Threadpool server. The workaround is to spawn a separate thread for each socket that you need to listen to. (The name server does this for the broadcast server, if it detects that it is running on Jython)

## IronPython

- Pyro requires the `zlib` module, which is not included in older IronPython versions. IronPython 2.7 includes it by default. If you need to install it manually, get it from the developer.
- IronPython cannot properly serialize exception objects, which could lead to problems when dealing with Pyro’s enhanced tracebacks. For now, Pyro contains a workaround for this IronPython bug.

## Pypy

I haven’t used Pypy much let alone with Pyro, but it seems that at least the recent builds (1.9 and newer) of Pypy work fine with Pyro.

### Navigation

- index
- next |
- previous |
- Pyro 4.23 documentation »