Required Libraries and Tools - DLR-SC/DataFinder GitHub Wiki

To run and develop the DataFinder the following packages are required:

Core Dependencies

For Windows you need to install MinGW if you want to build PyQt and SIP from source. Read the installation instructions for Windows from SIP and PyQt for more details.

RECOMMENDATION: Don't go throught the trouble to install SIP and PyQt4 from source, but use the PyQt4 installer instead.

Name Version Comment PyPI Package Ubuntu Package
Python >= 2.6.4 python-all
SIP 4.10 Only required if you install from source. SIP python-sip4
PyQt 3 3.18.1 Only required for the administration GUI. pyqt-tools
PyQt 4 >=4.7 Only required for the data management GUI. RECOMMENDATION: Install from PyQt4 installer pyqt4-dev-tools, python-qt4
Pyparsing 1.5.2 For parsing expressions in the search_support module. pyparsing python-pyparsing
PyWin32 214 Python for Windows extensions. Only required for Windows (win32). - -

If you have problems to install pywin from the .exe files you can download the wheel format from https://www.lfd.uci.edu/~gohlke/pythonlibs/#pywin32 and install with "pip install pywin32-221-cp27-cp27m-win32.whl".

If (on windows) you get the error that either pywintypes27.dll or pythoncom27.dll are not found, make sure that they are available in "C:\Python27\Lib\site-packages\win32\lib" as well as in "C:\Python27\Lib\site-packages\pywin32_system32" (adapt the given example to your Python 2.7 installation).

Persistence Dependencies

At least the WebDAV or Subversion bindings are required.

Name Version Comment PyPI Package Ubuntu Package
Python WebDAV Library 0.4.1 Contains the WebDAV bindings. python_webdav_library python-webdav
pysvn 1.7.2 Bindings to Subversion (SVN). - python-svn
PyLucene 3.3 Python extension for accessing Java Lucene. - -
pysolr 3.0.6 Python client for Apache Solr. pysolr -
Python-LDAP-Modul 2.3.10 LDAP access. Only required for authentication against / searching a LDAP repository. python-ldap python-ldap
Paramiko (Requirements: ''Python Cryptography Toolkit'' pycrypto 1.9+) 1.7.6 Only required for TSM use. python-paramiko paramiko
Boto for AWS >=2.0rc1 Bindings to Amazon Web Services (AWS). python-boto boto

Build Tools

Name Version Comment PyPI Package Ubuntu Package
generateDS == 1.20g Generates Python data structures (e. g. class definitions) from an XML schema. MAKE SURE THAT USE VERSION 1.20g!!! Other versions might cause parsing errors! generateDS generateDS
nose 0.11.1 Runs the unit tests. nose python-nose
coverage.py 3.4 Creates coverage report. coverage coverage
pylint* 0.21.1 Coding style checker. pylint pylint
epydoc 3.0.1 Creates the developer documentation. epydoc python-epydoc
bbfreeze 0.96.5 This module is needed for making a binary distribution under Windows/Linux. bbfreeze bbfreeze
NSIS-Installer 2.41 Used on Windows to create an installer.

* To make pylint work you have to adapt the required astng module of logilab. Further details can be found here. You should change the following in logilab/astng/builder.py:

Line 208:
-               assert isinstance(member, object)
-               object_build_methoddescriptor(node, member)
+               # avoid objects without __name__, they're not what they seem ...
+               # (eg PyQt4.QtCore.pyqtSignal instances)
+               if hasattr(member, "__name__") and hasattr(member, "__doc__"):
+                   assert isinstance(member, object)
+                   object_build_methoddescriptor(node, member, name)
+               else:
+                   attach_dummy_node(node, name, member)

Installing PyPi packages

The PyPI packages can be installed through pip. To install the generateDS package for example like this ...

  • ... using pip:
$ pip install generateDS==1.20g