Installing and configuring EMEN2
EMEN2 has a number of dependencies, which are described on the dependencies page. However, because EMEN2 is often used with EMAN2, we have packaged all of the EMEN2 dependencies along with binary builds of EMAN2, which greatly simplifies installation. See the EMAN2 page for information on installing EMAN2 and the notes below. On Linux, we usually install EMAN2 into $HOME/EMAN2; make sure to run the "EMAN2/eman2-installer" script and add the resulting EMAN2 init script (EMAN2/eman2.bashrc) to your shell rc (usually $HOME/.profile or $HOME/.bashrc).
EMEN2 can be installed using either Python easy_install:
sudo python -m easy_install -U -Z emen2
Note the "-U" flag will upgrade emen2 to the current version if it is already found. The "-Z" flag will prevent EMEN2 from being installed an a ".egg" zip file.
Alternatively, you may install EMEN2 by downloading the source, unpacking, and running the setup.py script:
python ./setup.py build sudo python ./setup.py install
Note: Installing EMEN2 with EMAN2
If you are using an EMAN2 binary distribution to take care of all the dependencies, you will need to use EMAN2's Python environment on Linux and Windows. On Linux, assuming you installed EMAN2 into $HOME/EMAN2, you would use $HOME/EMAN2/Python/bin/python as the interpreter. This will ensure that the correct dependencies are loaded and EMEN2 is installed in the correct location. On Mac OS X, EMAN2 uses the system default Python environment, so no special action is required. Example:
$HOME/EMAN2/Python/bin/python -m easy_install -U -Z emen2
Creating an EMEN2 database environment
Here is a "quick start" guide to initialize an EMEN2 DB and start the web server. The "-h" argument in the scripts below are references to a directory to keep the EMEN2 DB; the directory will be created if it does not exist.
python -m emen2.db --create -h $HOME/testdb
This will prompt for a "root" email address and password, and create a minimal EMEN2 environment. The email address will be used for password recovery and system messages if a mail server is provided in the configuration. The password can be left empty, but the system will not be secure at all.
You can also quickly access the native Python API, by running the module with the '-i' flag. The "-e" flag specifies a list of extensions to load.
python -i -m emen2.db -h $HOME/testdb -e default,em,eman2,site
To start the EMEN2 web server with default settings:
python -m emen2.web.server -h $HOME/testdb -e default,em,eman2,site
You will be able to access the server at http://localhost:8080
Another way to start the web server is to run it as a Twisted Application, using twistd.
twistd emen2 -h $HOME/testdb -e default,em,eman2,site
This will daemonize emen2, and log all messages to a file. You can specifiy the "-n -o" flags to twistd to prevent daemonization and print the log to stdout.