Project

General

Profile

SOLVED: EMAN doesn't support python 2.7?

Added by Patrick Goetz almost 7 years ago

I thought I could get away with just installing EMAN2, given this prominent messsage on the EMAN Wiki page (http://blake.bcm.edu/emanwiki/EMAN1):

released 02/2009

IMPORTANT NOTICE - EMAN1 is now quite out of date, and is no longer being updated in any way. Modern standards require "gold standard" 
resolution assessment and many reviewers will also require things like tilt validation. All of these things are fully supported in EMAN2.
EMAN2.1 has eliminated all of the issues users found frustrating about EMAN2.0, and we strongly encourage people to upgrade.

but it does appear that the appion scripts still depend on EMAN? In any case, when I try to follow the steps on this page: http://emg.nysbc.org/projects/appion/wiki/Install_EMAN

I get the following message:

root@kraken:/usr/local/EMAN# ./eman-installer
Please add the following line to the end of your /root/.bashrc:
source /usr/local/EMAN/eman.bashrc

Warning: unsupported python version '2.7'. Only python 2.2, 2.3, 2.4, 2.5, 2.6 are supported.

Any suggested work arounds? Can I just link EMAN2 to EMAN? Or maybe modify the installation script to accept python 2.7, since this should be syntactically compatible with previous versions?


Replies (8)

RE: EMAN doesn't support python 2.7? - Added by Patrick Goetz almost 7 years ago

Or, maybe it installed the EMAN python scripts, and this is just a warning? I don't see any evidence of EMAN in /usr/local/lib/python2.7/dist-packages, how can I check the filesystem?

RE: EMAN doesn't support python 2.7? - Added by Patrick Goetz almost 7 years ago

Forgot to add that I tried this both with the cluster and non-cluster 64-bit versions (eman-linux-x86_64-1.9.tar.gz, eman-linux-x86_64-cluster-1.9.tar.gz).

RE: EMAN doesn't support python 2.7? - Added by Carl Negro almost 7 years ago

Patrick,

This is just a warning, you should be able to use EMAN with Python 2.7. You cannot switch out EMAN for EMAN2, EMAN2 is not compatible with Appion right now.

RE: EMAN doesn't support python 2.7? - Added by Patrick Goetz almost 7 years ago

Thanks, Carl. Testing with imageloader.py, it seems to be working.

I can file this as a separate ticket, but it does appear that some appion tools use EMAN2? See below:

topologyAlignment.py --projectid=1 --rundir=/data2/appion/17dec14z/align/topol1 --description="test" --runname=topol1 --stack=1 --lowpass=10 --highpass=2000 --num-part=356 --start=5 --end=19 --bin=1 --mask=46 --iter=5 --itermul=10 --learn=0.01 --ilearn=0.0005 --age=25 --mramethod=eman --msamethod=can --commit --expid=4 --jobtype=partalign
Traceback (most recent call last):
  File "/usr/local/bin/topologyAlignment.py", line 29, in <module>
    import EMAN2
ImportError: No module named EMAN2

I installed the binary EMAN2 from the upstream source, but it doesn't seem to like this, so looks like I'm going to have to compile from source.

RE: SOLVED: EMAN doesn't support python 2.7? - Added by Patrick Goetz almost 7 years ago

They seem to have changed the system for building from source, and are now recommending that people use miniconda.

RE: SOLVED: EMAN doesn't support python 2.7? - Added by Anchi Cheng almost 7 years ago

General note: we still have a few EMAN1 legacy call, but when we release 3.3 (coming soon), the only one that might still be left is the use of proc2d from shell if we can not finish all code conversion in time.

Also EMAN2 binary installation is not callable directly from Appion python import because it has its own python. The EMAN2 compiled with standard python IS used in Appion in topology representing network based particle alignment, and any eman2 or sparx-specific Appion scripts. All but the first is considered as in development. Appion-protomo2 does use EMAN2 from shell, but its docker-build is the only method we use to distribute this tomography-specialized version.

RE: SOLVED: EMAN doesn't support python 2.7? - Added by Patrick Goetz almost 7 years ago

Also EMAN2 binary installation is not callable directly from Appion python import because it has its own python.

Ah, thank you -- this is what I needed to know!

    (1-8/8)