Skip to main content

zc.buildout recipe that downloads and installs

Project description

This recipe download openoffice in your buildout, it can also (optional) create egg with pyuno and change the default python used by openoffice.

More info about Python UNO:

We are using this to generate OpenOffice documents from zope/python

Buildout configuration:

Add this section to your buildout configuration:

parts =
    ... your other parts ...

recipe = z3c.recipe.openoffice

This will just download and install openoffice in your buildout

To create the pyuno egg add the fallowing config:

recipe = z3c.recipe.openoffice
install-pyuno-egg = yes

To also change openoffice python, add the following config:

recipe = z3c.recipe.openoffice
install-pyuno-egg = yes
hack-openoffice-python = yes

By default it will fetch version OpenOffice 2.3 but you might want to install from another location or another version like this:

recipe = z3c.recipe.openoffice
install-pyuno-egg = yes
hack-openoffice-python = yes
version = 2.3.1
download-url =


For this to work an OpenOffice process need to be running in background. As this require a X server and you don’t want to install a real X server in a production environment you might want to use Xvfb. Here are the lines we use to start openoffice:

$ cd myBuildout
$ Xvfb :3 -ac -screen sn 800x600x16 &
$ ./parts/openoffice/program/soffice "-accept=socket,host=localhost,port=2002;urp;" -display :3 &
$ ./bin/instance start

This recipe only works with linux at the moment

To test pyuno (requires zopepy in buildout.cfg):

$ ./bin/zopepy
>>> import pyuno

If you get the fallowing error:

"SystemError: dynamic module not initialized properly"


$ ldconfig YOURBUILDOUTFOLDER/parts/openoffice/program

If you still face the same error, you might try:

$  export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"YOURBUILDOUTFOLDER/parts/openoffice/program"

Be careful that the first time you will run soffice in server mode, openoffice will oblige you to pass throught a wizard run first openoffice on your normal display or copy an .openoffice2 folder in the home of the user which is running the command.

This recipe requires rpm2cpio and cpio to be installed on your system.


Original author: Martijn Faassen -

Modified by: Jean-Francois Roche -

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

z3c.recipe.openoffice-0.3.tar.gz (4.3 kB view hashes)

Uploaded Source

Built Distribution

z3c.recipe.openoffice-0.3-py2.4.egg (9.4 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page