Running on alternative Python implementations

Pyro is a pure Python library so you should be able to use it with any compatible Python implementation. There are a few gotchas however. If possible please use the most recent version available of your Python implementation.

Note

You may have to install the serpent serialization library manually (this is a dependency). Check that you can import serpent to make sure it is installed.

IronPython

IronPython is a Python implementation running on the .NET virtual machine.

  • Pyro runs with IronPython 2.7.5. Older versions may or may not work, and can lack required modules such as zlib.

  • 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 bug.

  • You may have to use the -X:Frames command line option when starting Ironpython. (one of the libraries Pyro4 depends on when running in Ironpython, requires this)

Pypy

Pypy is a Python implementation written in Python itself, and it usually is quite a lot faster than the default implementation because it has a JIT-compiler.

Pyro runs happily on recent versions of Pypy.