Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GALAXY_VIRTUAL_ENV python 2 destination for legacy tools #288

Closed
mvdbeek opened this issue Feb 20, 2020 · 10 comments
Closed

GALAXY_VIRTUAL_ENV python 2 destination for legacy tools #288

mvdbeek opened this issue Feb 20, 2020 · 10 comments

Comments

@mvdbeek
Copy link
Member

@mvdbeek mvdbeek commented Feb 20, 2020

It hit me this morning that we could map tools that are currently failing because they're not python 2 compatible to a destination that sets GALAXY_VIRTUAL_ENV to a python 2 virtualenv with galaxy's internals. Of course we should fix whatever tool we can, but some tools aren't updatable because the dependencies are not in Conda, not even downloadable or have weird licenses.

If that works OK and saves us some trouble we could extend that on the Galaxy side where we could maintain a list of tool ids and versions, so that old tools continue working (by being mapped to a python 2 destination) and new tools need to be python 3 ready.

@jennaj

This comment has been minimized.

Copy link
Member

@jennaj jennaj commented Feb 22, 2020

+100 very very good idea. I remember you bringing this up (or @natefoo?) a few weeks ago, or something like it, and though very good idea then too. Good to have it on a ticket!

Agree so many involve older or un-upgradable tools. It creates a LOT of "noise". So selfishly voting YES. All the errors must be very frustrating for our users too of course.

Let's get things working now and sort through that list at a rational pace while granting our users a better intermediate experience while it is done :)

@jennaj jennaj added this to To Consider: Inbox in Bugs being fixed Feb 22, 2020
@jennaj

This comment has been minimized.

Copy link
Member

@jennaj jennaj commented Feb 24, 2020

Example problematic tool with dependency issue (are more):

tool id: join1
tool version: 2.1.3

job stderr:
Traceback (most recent call last):
File "/cvmfs/main.galaxyproject.org/galaxy/tools/filters/join.py", line 19, in
from galaxy.util import stringify_dictionary_keys
ModuleNotFoundError: No module named 'galaxy'

ping @natefoo -- if this is a distinct problem, we should clarify that and move to a different ticket. Hard to tell what is Py 2-3 related and what is just a general dependencies issue related to other updates.

Many many user reports involving Text Manipulation tools -- are heavily used in tutorials -- bugs, Ghelp, etc.

@mvdbeek

This comment has been minimized.

Copy link
Member Author

@mvdbeek mvdbeek commented Feb 24, 2020

That's different, I promised Nate a script but as usual stuff came up. But at least the script will be done today.

@jennaj

This comment has been minimized.

Copy link
Member

@jennaj jennaj commented Feb 24, 2020

Cool -- thanks for clarifying. Making ticket for it, will link back.

Linking a related that seems to be true. Yes, the entire tool suite is deprecated but still have users that prefer it. Needs Py2 env. #281

@mvdbeek

This comment has been minimized.

Copy link
Member Author

@mvdbeek mvdbeek commented Mar 5, 2020

Something like https://gist.github.com/mvdbeek/8ca744f5ee8f61bcb74faa8e35a147ff should work. Feasible for usegalaxy.org, @natefoo ?

@natefoo

This comment has been minimized.

Copy link
Member

@natefoo natefoo commented Apr 9, 2020

I tried it with StructureFold Iterative Mapping and it worked!

@natefoo

This comment has been minimized.

Copy link
Member

@natefoo natefoo commented Apr 9, 2020

Can you think of a way to generate a list of these tools?

@mvdbeek

This comment has been minimized.

Copy link
Member Author

@mvdbeek mvdbeek commented Apr 9, 2020

Hmm, that is a bit more difficult. I guess those tools in repos that still contain tool_dependencies.xml files would be a good guess. That catches more tools than necessary, but if this method works I don't think it would do much harm.

@mvdbeek

This comment has been minimized.

Copy link
Member Author

@mvdbeek mvdbeek commented Apr 9, 2020

https://gist.github.com/mvdbeek/590213f65520c498321e1850ed8d44e6 is a script that checks the toolbox for tools that use packages, https://gist.github.com/mvdbeek/24c9147d3a619f868374cfd379383a96 is the result of this script

@mvdbeek

This comment has been minimized.

Copy link
Member Author

@mvdbeek mvdbeek commented Apr 9, 2020

Should be fixed with 7e1981a, thanks @natefoo. I think this is a nice one for reproducibility! But please, everybody stop using 10 year old tools 🙏

@mvdbeek mvdbeek closed this Apr 9, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Bugs being fixed
To Consider: Inbox
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
3 participants
You can’t perform that action at this time.