Make sure you have a reasonably modern python. pyFF is developed using 2.7 but 2.6 should work just fine. It is recommended that you install pyFF into a virtualenv but there are two ways: with or without site packages.
For both methods start by installing a few basic OS packages. Here we illustrate with commands for a debian/ubuntu install:
# apt-get install build-essential python-dev libxml2-dev libxslt1-dev libyaml-dev
and if you’re on a centos system (or other yum-based systems):
# yum install python-devel libxml2-devel libxslt-devel libyaml-devel
# easy_install pyyaml # bug in pip install pyyaml
# yum install make gcc kernel-devel kernel-headers glibc-headers
If you want to use OS packages instead of python packages from pypi then consider also installing the following packages before you begin:
# apt-get install python-lxml python-yaml python-eventlet python-setuptools
This method re-uses existing OS-level python packages. This means you’ll have fewer worries keeping your python environment in sync with OS-level libraries.
# apt-get install python-virtualenv
# mkdir -p /opt/pyff
# virtualenv /opt/pyff
Choose this method if you want the OS to keep as many of your packages up to date for you.
This method keeps everything inside your virtualenv. Use this method if you are developing pyFF or want to run multiple python-based applications in parallell without having to worry about conflicts between packages.
# apt-get install python-virtualenv
# mkdir -p /opt/pyff
# virtualenv /opt/pyff --no-site-packages
Choose this method for maximum control - ideal for development setups.
Now that you have a virtualenv, its time to install pyFF into it. Start by activating your virtualenv:
# . /opt/pyff/bin/activate
Next install pyFF:
# pip install pyFF
This will install a bunch of dependencies and compile bindings for both lxml, pyyaml aswell as pyXMLSecurity. This may take some time to complete. If there are no errors and if you have the pyff binary in your $PATH you should be done.
Unless you’ve made modifications, upgrading should be as simple as running
# . /opt/pyff/bin/activate
# pip install -U pyff
This should bring your virtualenv up to the latest version of pyff and its dependencies. You probably need to restart pyffd manually though.