Installing and configuring EMEN2
EMEN2 has a number of dependencies, which are described on the EMEN2 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 installation note below.
EMEN2 can be installed using either Python easy_install:
sudo python -m easy_install emen2
Or by downloading the source, unpacking, and using Python distutils:
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 your home folder, you would use ~/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.
Here is a "quick start" guide to install EMEN2, 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 daemon and print the log to stdout.