Differences between revisions 14 and 34 (spanning 20 versions)
Revision 14 as of 2010-04-14 14:05:33
Size: 1740
Editor: root
Comment:
Revision 34 as of 2010-11-22 11:25:25
Size: 2416
Editor: root
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
[[EMEN2]] is dependent on several other packages. With the exception of Python, which is generally up to date and well-packaged on most systems, I recommend downloading the latest version from the project's site and installing it, or using easy_install for the package if possible. (Linux/Mac package management systems often have out of date software.) [[EMEN2]] uses a "progressive enhancement" approach to dependencies -- functionality is increased with additional dependency libraries.
Line 5: Line 5:
If I have specified a version, it is the minimum version I have tested EMEN2 with. I cannot guarantee success with versions earlier than noted. For basic client usage, no dependencies are required beyond the basic Python environment; the GUI clients require PyQt4.

On the server side, Berkeley DB and bsddb3 are required for basic functionality. If you want to run the web server, you will also need Twisted, Markdown, and Mako. Additional server features, such as thumbnails and plotting, are provided by EMAN2, matplotlib, and ImageMagick.

== Python Environment ==

 * Python 2.6+
  * Note: do not use Python 3.0+
  * http://www.python.org
Line 8: Line 16:
* Python 2.5+
 (note: do not use Python 3.0)
 http://www.python.org
== Core Database ==

 * Berkeley DB 5.0.x
  * BDB is the storage and transactional backend for EMEN2
  * Note: Relatively recent 4.8.2x release are probably OK as well
  * http://www.oracle.com/technology/software/products/berkeley-db/index.html

 * bsddb3 5.0.x
  * Python bindings for Berkeley DB
  * Note: Relatively recent 4.8.2x release are probably OK as well
  * http://www.jcea.es/programacion/pybsddb.htm
  * "easy_install bsddb3"

== Web Server ==

 * Mako Templates (latest)
  * A simple, fast templating system for Python
  * http://www.makotemplates.org/
  * "easy_install mako"

 * Twisted 10.x+
  * An event-driven networking engine written in Python
  * http://twistedmatrix.com/trac/
  * "easy_install twisted"

 * Markdown
  * Simplified rich-text editing
  * "easy_install Markdown"

== Web Server: Optional ==

 * EMAN2 (recommended)
  * EMAN2 is optionally used to generate browsable micrograph previews.
  * http://ncmi.bcm.edu/ncmi/software/counter_222/software_86

 * Matplotlib (recommended)
  * Plotting support
  * Note: commonly installed with EMAN2
  * "easy_install matplotlib"

 * ImageMagick (recommended)
  * Thumbnail and document preview support
  * Commonly installed on Linux
  * http://www.imagemagick.org/

 * pyOpenSSL
  * Network encryption
  * "easy_install pyOpenSSL"
Line 13: Line 66:
* Berkeley DB 4.8.24+
 BDB is the storage and transactional backend for EMEN2
 * Note: I have not tested Berkeley DB 5.x
 http://www.oracle.com/technology/software/products/berkeley-db/index.html
== GUI Client ==
Line 18: Line 68:

* bsddb3 4.8.4+ (latest)
 Python bindings for Berkeley DB
 * Note: I have not tested Berkeley DB 5.x
 http://www.jcea.es/programacion/pybsddb.htm
 "easy_install bsddb3"


* Mako Templates (latest)
 A simple, fast templating system for Python
 http://www.makotemplates.org/
 "easy_install makotemplates"


* demjson (latest)
 A fast, compliant JSON module
 http://deron.meranda.us/python/demjson/
 "easy_install demjson"
 * note: EMEN2 may use the Python json standard library in the future


* Twisted 10.x+
 An event-driven networking engine written in Python
 http://twistedmatrix.com/trac/
 "easy_install twisted"


* PyYAML (latest)
 Configuration file is YAML-based
 "easy_install yaml"


* pyOpenSSL
 Network encryption
 "easy_install pyOpenSSL"


* EMAN2
 EMAN2 is optionally used to generate browsable micrograph previews.
 http://ncmi.bcm.edu/ncmi/software/counter_222/software_86
 * PyQt4
  * Python bindings for Nokia's Qt toolkit
  * You will want to install this as a binary, unless you are a masochist.
  * On Windows, there is a simple to use binary installer.
  * Like matplotlib, this is commonly included in EMAN2 binary packages (useful on Mac OS X)
  * http://www.riverbankcomputing.co.uk/software/pyqt/download

EMEN2 Dependencies

EMEN2 uses a "progressive enhancement" approach to dependencies -- functionality is increased with additional dependency libraries.

For basic client usage, no dependencies are required beyond the basic Python environment; the GUI clients require PyQt4.

On the server side, Berkeley DB and bsddb3 are required for basic functionality. If you want to run the web server, you will also need Twisted, Markdown, and Mako. Additional server features, such as thumbnails and plotting, are provided by EMAN2, matplotlib, and ImageMagick.

Python Environment

Core Database

Web Server

  • Mako Templates (latest)
  • Twisted 10.x+
  • Markdown
    • Simplified rich-text editing
    • "easy_install Markdown"

Web Server: Optional

GUI Client

  • PyQt4

    • Python bindings for Nokia's Qt toolkit
    • You will want to install this as a binary, unless you are a masochist.
    • On Windows, there is a simple to use binary installer.
    • Like matplotlib, this is commonly included in EMAN2 binary packages (useful on Mac OS X)
    • http://www.riverbankcomputing.co.uk/software/pyqt/download

EMEN2/Dependencies (last edited 2013-06-27 04:51:06 by IanRees)