It turned out this error was caused by the python installation on the computer node, I reinstalled Python 2.7.3 on the computer node and then fetch_eggs.py doesn't generate any problem, however when I submit a job in Galaxy and the job fails with the following error:

Traceback (most recent call last):
  File "./scripts/set_metadata.py", line 24, in <module>
    import galaxy.model.mapping #need to load this before we unpickle, in order to setup properties assigned by the mappers
  File "/home/galaxy/galaxy-dist/lib/galaxy/model/__init__.py", line 13, in <module>
    import galaxy.datatypes.registry
  File "/home/galaxy/galaxy-dist/lib/galaxy/datatypes/registry.py", line 5, in <module>
    import data, tabular, interval, images, sequence, qualityscore, genetics, xml, coverage, tracks, chrominfo, binary, assembly, ngsindex, wsf, hmm
ImportError: Bad magic number in /home/galaxy/galaxy-dist/lib/galaxy/datatypes/wsf.pyc


On Wed, Jan 23, 2013 at 3:48 PM, Luobin Yang <yangluob@isu.edu> wrote:
Hi, Nate,

It seems fetch_eggs.py does not run correctly on the compute node, which runs Ubuntu 12.04.1 LTS and Python 2.7.3. After I ran "python scripts/fetch_eggs.py", I got the following errors: 

Traceback (most recent call last):
  File "scripts/fetch_eggs.py", line 30, in <module>
    c.resolve() # Only fetch eggs required by the config
  File "/home/galaxy/galaxy-dist/lib/galaxy/eggs/__init__.py", line 345, in resolve
    egg.resolve()
  File "/home/galaxy/galaxy-dist/lib/galaxy/eggs/__init__.py", line 195, in resolve
    return self.version_conflict( e.args[0], e.args[1] )
  File "/home/galaxy/galaxy-dist/lib/galaxy/eggs/__init__.py", line 226, in version_conflict
    r = pkg_resources.working_set.resolve( ( dist.as_requirement(), ), env, egg.fetch )
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 584, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: docutils==0.7
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/apport_python_hook.py", line 66, in apport_excepthook
    from apport.fileutils import likely_packaged, get_recent_crashes
ImportError: No module named apport.fileutils

Original exception was:
Traceback (most recent call last):
  File "scripts/fetch_eggs.py", line 30, in <module>
    c.resolve() # Only fetch eggs required by the config
  File "/home/galaxy/galaxy-dist/lib/galaxy/eggs/__init__.py", line 345, in resolve
    egg.resolve()
  File "/home/galaxy/galaxy-dist/lib/galaxy/eggs/__init__.py", line 195, in resolve
    return self.version_conflict( e.args[0], e.args[1] )
  File "/home/galaxy/galaxy-dist/lib/galaxy/eggs/__init__.py", line 226, in version_conflict
    r = pkg_resources.working_set.resolve( ( dist.as_requirement(), ), env, egg.fetch )
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 584, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: docutils==0.7



On Wed, Jan 23, 2013 at 2:48 PM, Nate Coraor <nate@bx.psu.edu> wrote:
On Jan 23, 2013, at 4:09 PM, Luobin Yang wrote:

> Hi,
>
> I ran into this error and I found the following thread discussing the problem, interestingly, for my system, the computer node runs the same Python version as the head node, but with a newer OS version, but it also generates this error. Does this mean the Galaxy system requires the computer nodes in a cluster to have the same version of OS and the same version of Python?
>
> http://comments.gmane.org/gmane.science.biology.galaxy.devel/3188
>
> Luobin

Hi Luobin,

If you remove the galaxy-dist/eggs/ directory and then run:

    galaxy-dist% python ./scripts/fetch_eggs.py

On both the galaxy server and the cluster, the output should reveal the differences in what platforms are being detected.  It's not required that they be the same OS or Python version, but if they differ they will both need to acquire platform-specific eggs.  Normally missing eggs are fetched automatically, but there are a few cases where you have to run fetch_eggs.py by hand.

--nate

> ___________________________________________________________
> Please keep all replies on the list by using "reply all"
> in your mail client.  To manage your subscriptions to this
> and other Galaxy lists, please use the interface at:
>
>  http://lists.bx.psu.edu/