This chapter will show how to obtain and install Pyro.
Short version: you need Python 2.6 or newer for Pyro4.
Longer version: Pyro4 is ‘unsupported’ on Python 2.5 or older (except Jython 2.5). This means it will probably work on Python 2.5 (make sure by running the unit tests), but it’s not supported for it. If at all possible, use Python 2.6 or newer. Pyro4 will not work at all on anything older than Python 2.5. Also see Should I choose Pyro4?.
Pyro is written in 100% pure Python. It works on any recent operating system.
It will default to using the serpent serializer so you will need to install Serpent as well, unless you configure Pyro to use one of the other serializers.
Note
When Pyro is configured to use pickle or marshal as its serialization format, it is required to have the same major Python versions on your clients and your servers. Otherwise the different parties cannot decipher each others serialized data. This means you cannot let Python 2.x talk to Python 3.x with Pyro. However it should be fine to have Python 2.6.2 talk to Python 2.7.3 for instance. Using one of the implementation independent protocols (serpent or json) will avoid this limitation.
Pyro can be found on the Python package index: http://pypi.python.org/pypi/Pyro4/ (package name Pyro4)
You can install it using pip or easy_install, or download the distribution archive (.tar.gz) from Pypi and run the setup.py script from that manually. Pyro installs as the Pyro4 package with a couple of sub modules that you usually don’t have to access directly. The serpent serialization library is installed as a dependency.
Note
Windows users: use one of the suggested tools to install Pyro. If you decide to get the distribution archive (.tar.gz) and use that, one way to extract it is to use the (free) 7-zip archive utility.
If you want you can also obtain the source directly from my source repository (subversion, read only access): svn://svn.razorvine.net/Pyro/Pyro4
If you decide to download the distribution (.tar.gz) you have a bunch of extras over installing Pyro directly. It contains:
- docs/
- the Sphinx/RST sources for this manual
- examples/
- dozens of examples that demonstrate various Pyro features (highly recommended)
- tests/
- all unit tests
- src/
- The library source code (only this part is installed if you install the Pyro4 package)
- and a couple of other files:
- a setup script and other miscellaneous files such as the license (see Software License and Disclaimer).