1==============
2 Installation
3==============
4
5.. highlight:: sh
6
7
8Dependencies
9============
10
11In order to build and run Python-LLFUSE you need the following software:
12
13* Linux, FreeBSD, NetBSD or MacOS X system
14* Python_ 2.6 or newer (including Python 3.x), installed with
15  development headers
16* The `setuptools`_ Python module, version 1.0 or newer.
17* When running under Python 2.x, the `contextlib2`_ Python module from
18  PyPi.
19* the `pkg-config`_ tool
20* the `attr`_ library
21* A C compiler (only for building)
22
23To run the unit tests, you will need
24
25* The `py.test`_ module, version 3.3.0 or newer
26
27When using Linux, you also need:
28
29* Kernel 2.6.9 or newer. Starting with kernel
30  2.6.26 you will get significantly better write performance, so under
31  Linux you should actually use *2.6.26 or newer whenever possible*.
32* Version 2.9.0 or newer of the FUSE_ library, including development
33  headers (typically distributions provide them in a *libfuse-devel*
34  or *libfuse-dev* package).
35
36In case of FreeBSD and NetBSD you will need:
37
38* The FUSE4BSD_ kernel module.
39
40For OS-X, you need:
41
42* the OSXFUSE_ package.
43
44
45Stable releases
46===============
47
48To install a stable Python-LLFUSE release:
49
501. Download and unpack the release tarball from https://pypi.python.org/pypi/llfuse/
512. Run ``python setup.py build_ext --inplace`` to build the C extension
523. Run ``python -m pytest test/`` to run a self-test. If this fails, ask
53   for help on the `FUSE mailing list`_  or report a bug in the
54   `issue tracker <https://github.com/python-llfuse/python-llfuse/issues>`_.
554. To install system-wide for all users, run ``sudo python setup.py
56   install``. To install into :file:`~/.local`, run ``python
57   setup.py install --user``.
58
59
60Development Version
61===================
62
63If you have checked out the unstable development version from the
64repository, a bit more effort is required. You need to also have
65Cython_ (0.29.21 or newer) and Sphinx_ (1.1 or newer) installed, and the
66necessary commands are::
67
68  python setup.py build_cython
69  python setup.py build_ext --inplace
70  python -m pytest test/
71  python setup.py build_sphinx
72  python setup.py install
73
74
75.. _Cython: http://www.cython.org/
76.. _Sphinx: http://sphinx.pocoo.org/
77.. _Python: http://www.python.org/
78.. _FUSE mailing list: https://lists.sourceforge.net/lists/listinfo/fuse-devel
79.. _`py.test`: https://pypi.python.org/pypi/pytest/
80.. _FUSE: http://github.com/libfuse/libfuse
81.. _attr: http://savannah.nongnu.org/projects/attr/
82.. _`pkg-config`: http://www.freedesktop.org/wiki/Software/pkg-config
83.. _FUSE4BSD: http://www.freshports.org/sysutils/fusefs-kmod/
84.. _OSXFUSE: http://osxfuse.github.io/
85.. _setuptools: https://pypi.python.org/pypi/setuptools
86.. _contextlib2: https://pypi.python.org/pypi/contextlib2/
87.. _Git: https://github.com/python-llfuse/python-llfuse
88