On Jun 4, 2012, at 3:45 PM, Greg Von Kuster wrote:

Hello Shantanu,

Sorry for the delay on this - I've been backed up since the weekend when we 
were trading emails.  The way Galaxy works with eggs is fairly complex with 
regard to handling conflicts, which is undoubtedly what is happening in your 
environment since you have the mercurial package installed for your Python 2.6. 
 Your environment probably results in a conflict that is not properly handled 
by the version_conflict() method in ~/lib/galaxy/eggs/__init__.py.


On Jun 4, 2012, at 4:04 PM, Shantanu Pavgi wrote:


Just want to update on the list about this error. I had followed up with Greg 
on this issue off-list as I didn't want to share all the hg output here on the 
list.

The galaxy had downloaded Mercurial egg however it's directory wasn't defined 
in the PYTHONPATH environment variable. However, it was included in the 
sys.path which I verified by printing it in the tool migration application. 
While debugging this issue, I downloaded Mercurial (egg) externally using 
easy_install tool and set up PYTHONPATH to point to this external Mercurial 
egg. After this the tool migration script worked fine.

So should this galaxy-mercurial egg directory and other galaxy egg directories 
be included in the PYTHONPATH environment variable?


For Galaxy, you really don't have to set PYTHONPATH at all, so if you are not 
using it for other Python related stuff on your Galaxy server, try unsetting 
it, and Galaxy's mercurial egg will probably be found.  If you need PYTHONPATH 
set, take a look at the version_conflict() method in 
~/lib/galaxy/eggs/__init__.py and see if you can figure out what is not being 
handled in your environment.



Also, I noticed that tool migration application failed again when I had default 
sqlite database URL mentioned in the universe_wsgi.ini file as it is (commented 
out). It works fine if the default database URL is uncommented.

I'll take a look at this.  Thanks for reporting it.


{{{
$ sh ./scripts/migrate_tools/0002_tools.sh
Traceback (most recent call last):
File "./scripts/migrate_tools/migrate_tools.py", line 21, in <module>
  app = MigrateToolsApplication( sys.argv[ 1 ] )
File "/home/shantanu/tmp/galaxy-dist/lib/galaxy/tool_shed/migrate/common.py", 
line 81, in __init__
  object_store=self.object_store )
File "/home/shantanu/tmp/galaxy-dist/lib/galaxy/model/mapping.py", line 1836, 
in init
  load_egg_for_url( url )
File "/home/shantanu/tmp/galaxy-dist/lib/galaxy/model/mapping.py", line 1816, 
in load_egg_for_url
  dialect = guess_dialect_for_url( url )
File "/home/shantanu/tmp/galaxy-dist/lib/galaxy/model/mapping.py", line 1812, 
in guess_dialect_for_url
  return (url.split(':', 1))[0]
AttributeError: 'bool' object has no attribute 'split'

}}}

--
Thanks,
Shantanu




Greg,

Thanks for the reply. I don't have any rush on this issue but just wanted to 
update on the list before I forget about it.

I was using PYTHONPATH only to get an external tool dependency 
(MACS<http://liulab.dfci.harvard.edu/MACS/>) in the galaxy's environment. As 
you mentioned, this may have caused some issues while locating galaxy-Mercurial 
egg, which got resolved after I externally installed Mercurial and also got it 
in PYTHONPATH.

I tried unsetting PYTHONPATH completely which got external - MACS and mercurial 
- installations out of the galaxy environment, however, it didn't resolve the 
tool migration error. I will dig into this issue later in the week. Right now 
it's not a blocking issue as I have migrated EMBOSS tool using 
external-Mercurial. Thanks for pointing out the code details.

--
Shantanu


___________________________________________________________
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/

Reply via email to