Recommended build prerequisites for PyQwt-5.2.1 are:
The source package PyQwt-5.2.1.tar.gz contains a snapshot of the Qwt-5.2 subversion bug fix branch which may fix some bugs in Qwt-5.2.1. I recommend to compile and link the bug fix branch statically into PyQwt.
To exploit the full power of PyQwt, you should install at least one of the numerical Python extensions:
and built PyQwt with support for the numerical Python extension(s) of your choice. However, only NumPy is actively developed and numarray and Numeric are deprecated.
PyQwt-5.2.1 and recent versions of the numerical Python extensions support the N-D array interface protocol. Therefore, PyQwt supports those extensions, even if they have not been installed when PyQwt has been built. In this case, the functionality is somewhat reduced, since conversion from an QImage to a Numerical Python array is not supported.
The installation procedure consists of three steps:
Invoke the following commands to build PyQwt-5.2.1 for Qt-4:
cd PyQwt-5.2.1 cd configure python configure.py -Q ../qwt-5.2 make make install
or invoke the commands to build PyQwt-5.2.1 for Qt-3:
cd PyQwt-5.2.1 cd configure python configure.py -3 -Q ../qwt-5.2 make make install
This assumes that the correct Python interpreter is on your path. Replace make by nmake, if you use Microsoft Visual C++. The commands build PyQwt against the included Qwt subversion snapshot and install PyQwt. Test the installation by playing with the example programs.
Fine tune (optional):
to use a Qwt library already installed on your system invoke commands similar to:
python configure.py -I/usr/include/qwt -lqwt make make install
where the Qwt header files are assumed to be installed in /usr/include/qwt.
If the linker fails to find the qwt library, add:
to the configure.py options.
The configure.py script takes many options. The command:
python configure.py -h
displays a full list of the available options
Usage: python configure.py [options] Each option takes at most one argument, but some options accumulate arguments when repeated. For example, invoke: python configure.py -I . -I .. to search the current *and* parent directories for headers. Options: -h, --help show this help message and exit Common options: -3, --qt3 build for Qt3 and PyQt [default Qt4] -4, --qt4 build for Qt4 and PyQt4 [default Qt4] -Q /sources/of/qwt, --qwt-sources=/sources/of/qwt compile and link the Qwt source files in /sources/of/qwt statically into PyQwt -I /usr/lib/qt3/include/qwt, --extra-include-dirs=/usr/lib/qt3/include/qwt add an extra directory to search for headers (the compiler must be able to find the Qwt headers without the -Q option) -L /usr/lib/qt3/lib, --extra-lib-dirs=/usr/lib/qt3/lib add an extra directory to search for libraries (the linker must be able to find the Qwt library without the -Q option) -j N, --jobs=N concatenate the SIP generated code into N files [default 1 per class] (to speed up make by running simultaneous jobs on multiprocessor systems) Make options: --debug enable debugging symbols [default disabled] --extra-cflags=EXTRA_CFLAG add an extra C compiler flag --extra-cxxflags=EXTRA_CXXFLAG add an extra C++ compiler flag -D HAS_EXTRA_SENSORY_PERCEPTION, --extra-defines=HAS_EXTRA_SENSORY_PERCEPTION add an extra preprocessor definition -l extra_sensory_perception, --extra-libs=extra_sensory_perception add an extra library --extra-lflags=EXTRA_LFLAG add an extra linker flag SIP options: -x EXTRA_SENSORY_PERCEPTION, --excluded-features=EXTRA_SENSORY_PERCEPTION add a feature for SIP to exclude (normally one of the features in sip/features.sip) -t EXTRA_SENSORY_PERCEPTION, --timelines=EXTRA_SENSORY_PERCEPTION add a timeline option for SIP (normally one of the timeline options in sip/timelines.sip) --sip-include-dirs=SIP_INCLUDE_DIR add an extra directory for SIP to search --trace enable trace of the execution of the bindings [default disabled] Detection options: --disable-numarray disable detection and use of numarray [default enabled] --disable-numeric disable detection and use of Numeric [default enabled] --disable-numpy disable detection and use of NumPy [default enabled] Install options: --module-install-path=MODULE_INSTALL_PATH specify the install directory for the Python modules
Check whether all development packages have been installed when make produces lots of errors on Linux.
If you fail to install PyQwt, unpack PyQwt-5.2.1.tar.gz into a clean directory and create two log files containing stdout and stderr:
python configure.py --your --options 2&>1 >configure.log make 2&>1 >make.log