You can either install binaries from your distribution repository or download
the libraries sources, compile and install. Installing from the repository is highly
recommended, as compiling and installing the sources will fail if there are missing
library headers in the system. If this is the case, the corresponding development
libraries must be installed from your distribution repository in order to get the
missing headers.
Before taking any steps to install the libraries, it is advisable to check if
they are already installed.
Normally it will be enough to install python2.5, python2.6 or python 2.7, and
the latest versions of pyQt4, scipy and pyQwt5. The other packages should be
automatically installed as dependencies.
Example for distributions with apt package system (change package
names depending on your distribution):
# apt-get install python2.7 python-qt4 python-scipy python-qwt5-qt4 libatlas3gf-base libfftw3-3
Packages libatlas3gf-base and libfftw3-3 above are optional and intended only to
improve performance with large matrix algebra. Since the lossyfilters software works
with small matrices, there will be no performace improvement using these libraries.
The following packages must be installed in the system (note that the package
names may vary from one distribution to another):
- Python interpreter: python2.5, python2.6 or python 2.7. Although all
these versions will run the .py lossyfilters sources, only version 2.6.x will run
the .pyc bytecode files distributed with version <=2.0 of the software. Later
versions (>2.0) will run with python 2.7.x . Accordingly, any Python python2.5,
python2.6 or python 2.7 can be used to run the free GUI and free libraries source
files. Regarding the non-free "Extra Filters Library" and "Lossy
Filters Library", users having the .py source files in their system can also
use any python2.5, python2.6 or python 2.7 version, while users having only the .pyc
files (the most common case) need Python 2.6.x for lossyfilters version <=2.0 and
Python 2.7.x for lossyfilters version >2.0 .
- Qt4 version 4.5.x or later (libqtcore4 and libqtgui4 on Debian, ... )
- sip4 version 4.8 or later, should be compatible with the version of pyQt4 to be
installed below (python-sip4 in Debian, ......... )
- Qscintilla2 Python bindings version 2.4 or later, should be compatible with the
version of pyQt4 to be installed below (python-qscintilla2 on Debian, ... ). Needs
Qscintilla2 library, but it should be automatically installed by the linux package
management utility.
- pyQt4 version 4.5.x or later (python-qt4 in Debian, kdebindings3-python in
SUSE>=9.2, ... )
- numpy version 1.5.1 or later, should be compatible with the version of scipy to
be installed below (python-numpy in Debian)
- scipy version 0.8 or later (python-scipy in Debian)
- pyQwt5 version 5.2 or later, should be compatible with the version of pyQt4
installed above (python-qwt5-qt4 in Debian). It should be also compatible with the
version of numpy installed above.
Since the pyQwt5 package is not updated frequently, it may be incompatible with
the versions of Qt4 and sip in your system. If this is the case, running the
mwfiltersgui executable with throw an error when interacting with the plot graph
window. To solve the problem you can recompile the pyQwt5 package in your system. In
debian based systems, the instructions for package recompilation are:
# apt-get built-dep python-qwt5-qt4
# apt-get source -b python-qwt5-qt4
The following combinations of package versions have been tested successfully:
- Python 2.5.4, sip4 4.9, python-sip4 4.9, Qt4 4.5.3, pyQt4 4.6, Qwt5 5.2.0,
pyQwt5 5.2.1, numpy 1.3.0, scipy 0.7.0 in Debian unstable (2009-11-12)
- Python 2.6.4, sip4 4.9, python-sip4 4.9, Qt4 4.5.3, pyQt4 4.6, Qwt5 5.2.0,
pyQwt5 5.1.1, numpy 1.3.0, scipy 0.7.0 in Ubuntu 9.10 Karmic
- Python 2.6.5, sip4 4.10.1, python-sip4 4.10.1, Qt4 4.6.2, pyQt4 4.7.2, Qwt5
5.2.0, pyQwt5 5.2.1, numpy 1.3.0, scipy 0.7.0 in Ubuntu 10.04 Lucid
- Python 2.6.6, sip4 4.10.5, python-sip4 4.10.5, Qt4 4.7.0, pyQt4 4.7.4, Qwt5
5.2.0, pyQwt5 5.2.1, numpy 1.3.0, scipy 0.7.2 in Ubuntu 10.10 Maverick
- Python 2.6.6, sip4 4.10.5, python-sip4 4.10.5, Qt4 4.7.0, pyQt4 4.7.4, Qwt5
5.2.0, pyQwt5 5.2.1, numpy 1.4.1, scipy 0.7.2 in Ubuntu 10.10 Maverick
- Python 2.6.6, sip4 4.11.2, python-sip4 4.11.2, Qt4 4.7.0, pyQt4 4.8.1, Qwt5
5.2.0, pyQwt5 5.2.1, numpy 1.5.1, scipy 0.8.0 in Ubuntu 10.10 Maverick
- Python 2.7.1, sip4 4.11.2, python-sip4 4.11.2, Qt4 4.7.2, pyQt4 4.8.3, Qwt5
5.2.0, pyQwt5 5.2.1, numpy 1.5.1, scipy 0.8.0 in Ubuntu 11.04 Natty
- Python 2.7.3, python-sip 4.13.3, Qt4 4.8.3, pyQt4 4.9.3, Qwt5 5.2.1, pyQwt5
5.2.1, numpy 1.6.2, scipy 0.10.0 un Ubuntu 12.10 Quantal
Optional packages with optimized libraries to increase performance of Numpy and
Scipy are:
- atlas (libatlas3gf-base in Debian). The Automatically Tuned Linear Algebra
Software (ATLAS) http://math-atlas.sourceforge.net/ library is optional, but it will greatly increase performance
of linear algebra operations in Python. The Basic Linear Algebra Subprograms (BLAS)
http://www.netlib.org/blas and the Linear Algebra PACKage (LAPACK) http://www.netlib.org/lapack will be automatically installed as
dependencies when installing ATLAS. Although lossyfilters software does not perform
operations with large matrices, it is advisable to install the package for other
applications.
- fftw3 (libfftw3-3 in Debian). The FFTW3 http://www.fftw.org library is optional, but it will
greatly increase performance of FFT in Python. Although lossyfilters software does
not perform FFT operations, it is advisable to install the package for other
applications.
- The python interpreter will be already installed in most linux distributions.
It MUST BE python version 2.5, version 2.6 or version 2.7 . Earlier versions will
not work, and version 3 is backwards incompatible.
- Qt4 library and possibly sip4 and pyQt4 will be present in linux installations
having the KDE desktop (for example Kubuntu and Debian with KDE).
- In Ubuntu 10.10 Maverick and in Ubuntu 11.04 Natty, the python-qwt5-qt4 package
may need to be recompiled in order to work successfully with the versions of sip and
Qt4 installed in the system. See above for recompilation instructions.
- The latest numpy and scipy versions available in Ubuntu that have been tested
when preparing this document (2013-06-11) are respectively 1.6.2 and 0.10.0. Earlier
versions are not recommened, since the latest ones include bug fixes and
funcionality enhancements that might be necessary for the correct function of the
software. Install newer versions with caution, since there might be some
incompatibility with pyqwt library 5.2 that may requiere recompilation of package
python-qwt5-qt4.
In Ubuntu 10.10 Maverick (updated 2010-11-26) the latest version of python-numpy
and python-scipy packages available in the repository is respectively 1.3.0 and
0.7.2. If you wish to install newer versions, you can download them from the debian
unstable or Ubuntu 11.04 Natty repositories and check dependencies to see if they
are compatible with other packages in your system:
http://ftp.de.debian.org/debian/pool/main/p/python-numpy/python-numpy_1.5.1-2+b1_amd64.deb
http://de.archive.ubuntu.com/ubuntu/pool/main/p/python-numpy/python-numpy_1.5.1-1ubuntu2_amd64.deb
http://ftp.de.debian.org/debian/pool/main/p/python-scipy/python-scipy_0.9.0+dfsg1-1+b2_amd64.deb
http://de.archive.ubuntu.com/ubuntu/pool/universe/p/python-scipy/python-scipy_0.8.0+dfsg1-1ubuntu1_amd64.deb
for 64-bit systems and
http://ftp.de.debian.org/debian/pool/main/p/python-numpy/python-numpy_1.5.1-2+b1_i386.deb
http://de.archive.ubuntu.com/ubuntu/pool/main/p/python-numpy/python-numpy_1.5.1-1ubuntu2_i386.deb
http://ftp.de.debian.org/debian/pool/main/p/python-scipy/python-scipy_0.9.0+dfsg1-1+b2_i386.deb
http://de.archive.ubuntu.com/ubuntu/pool/universe/p/python-scipy/python-scipy_0.8.0+dfsg1-1ubuntu1_i386.deb
for 32-bit.
In Ubuntu 11.04 Natty (updated 2011-05-07) the latest versions are python-numpy
1.5.1 and python-scipy 0.8.0.
- Detailed and updated instructions for installation of Numpy and Scipy with
optimized linear algebra and FFTW libraries can be found in http://www.scipy.org/Installing_SciPy/Linux. The ATLAS
installation web page http://math-atlas.sourceforge.net/atlas_install contains also useful information.
In 2009 we prepared a script to install ATLAS in a Debian distribution:
- Unpack file build_atlas_debian.tar.gz
- Run build_atlas.sh script.
This script is now obsolete, but it is distributed with the software just in
case it may be useful to somebody. It should be easy to modify the script for other
distributions, following the instructions in http://www.scipy.org/Installing_SciPy/Linux and http://math-atlas.sourceforge.net/atlas_install .
In Ubuntu 10.10 Maverick (and possibly 11.04 Natty), the instructions to compile
ATLAS library customized for your CPU are:
$ sudo apt-get build-dep libatlas3gf-base
$ sudo apt-get install devscripts
$ mkdir optim_libs
$ cd optim_libs
$ apt-get source libatlas3gf-base
$ cd atlas-*
$ fakeroot debian/rules custom
$ cd ..
$ sudo dpkg -i libatlas3gf-base_*.deb
In the first place, it is necessary to have the GNU C++ compiler installed http://gcc.gnu.org/.
From the repository of your distribution, install g++ (the package name may
vary from one distribution to another). Other packages such as gcc and libraries
should be automatically installed as dependencies.
Example for distributions with apt package system:
# apt-get install g++
It is likely that the compilation process detects missing headers (*.h C/C++
files). If this is the case, you have to find which is the development package that
contains this file. For example, we found that file Xlocale.h was missing. Running
# apt-file search Xlocale.h
reported
libx11-dev: /usr/include/X11/Xlocale.h
which means that we have to install the libx11-dev library:
# apt-get install libx11-dev
Installation procedure:
- Python interpreter: http.//www.python.org
- PyQt GUI development: http://www.riverbankcomputing.co.uk
Before you can build PyQt you must have already built and installed the Qt
library, SIP and Qscintilla2:
- Qt:
- SIP:
- Qscintilla2:
- pyQt:
- Numpy and Scipy: http://www.numpy.org http://www.scipy.org.
Detailed instructions for installation of Numpy and Scipy with optimized linear
algebra libraries can be found in http://www.scipy.org/Installing_SciPy/Linux.
- pyQwt: http://pyqwt.sourceforge.net
- Eric development environment (OPTIONAL): http://eric-ide.python-projects.org