1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
.. index:: alternative Python implementations
*********************************************
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 <https://pypi.python.org/pypi/serpent>`_ serialization library manually (this is a dependency).
Check that you can ``import serpent`` to make sure it is installed.
.. index:: IronPython
IronPython
----------
`IronPython <http://ironpython.net>`_ 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 <https://github.com/IronLanguages/main/issues/943>`_.
- 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)
.. index:: Pypy
Pypy
----
`Pypy <http://pypy.org>`_ is a Python implementation written in Python itself, and it usually
is quite a lot faster than the default implementation because it has a :abbr:`JIT (Just in time)`-compiler.
Pyro runs happily on recent versions of Pypy.
|