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/