Opened 5 years ago
Last modified 5 years ago
#3350 accepted enhancement
Better information for bundle requirement problems
| Reported by: | Owned by: | Greg Couch | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Tool Shed | Version: | |
| Keywords: | Cc: | Conrad Huang | |
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
The following bug report has been submitted:
Platform: Darwin-18.7.0-x86_64-i386-64bit
ChimeraX Version: 0.9 (2019-06-06)
Description
(Describe the actions that caused this problem to occur here)
Log:
UCSF ChimeraX version: 0.9 (2019-06-06)
© 2016-2019 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
> toolshed show ISOLDE
Traceback (most recent call last):
File
"/Applications/ChimeraX-0.9.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/toolshed/info.py", line 627, in start_tool
ti = api._api_caller.start_tool(api, session, self, tool_info)
File
"/Applications/ChimeraX-0.9.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/toolshed/__init__.py", line 1435, in start_tool
return cls._get_func(api, "start_tool")(session, ti.name)
File
"/Applications/ChimeraX-0.9.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/isolde/__init__.py", line 31, in start_tool
return tools.get_singleton(session, ISOLDE_ToolUI, 'ISOLDE', create=True)
File
"/Applications/ChimeraX-0.9.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/tools.py", line 214, in get_singleton
tinst = tool_class(session, tool_name, **kw)
File
"/Applications/ChimeraX-0.9.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/isolde/tool.py", line 167, in __init__
from . import isolde
File
"/Applications/ChimeraX-0.9.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/isolde/isolde.py", line 35, in <module>
from chimerax import clipper
File
"/Applications/ChimeraX-0.9.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/clipper/__init__.py", line 26, in <module>
__version__ = _version()
File
"/Applications/ChimeraX-0.9.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/clipper/__init__.py", line 24, in _version
return pkg_resources.require('ChimeraX-Clipper')[0].version
File
"/Applications/ChimeraX-0.9.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/pkg_resources/__init__.py", line 900, in require
needed = self.resolve(parse_requirements(requirements))
File
"/Applications/ChimeraX-0.9.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/pkg_resources/__init__.py", line 791, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (ChimeraX-Core 0.9
(/Applications/ChimeraX-0.9.app/Contents/lib/python3.7/site-packages),
Requirement.parse('ChimeraX-Core==0.93'), {'ChimeraX-Clipper'})
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File
"/Applications/ChimeraX-0.9.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/ui/gui.py", line 1137, in <lambda>
run(ses, "toolshed show %s" % quote_if_necessary(tool_name)))
File
"/Applications/ChimeraX-0.9.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/commands/run.py", line 31, in run
results = command.run(text, log=log)
File
"/Applications/ChimeraX-0.9.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/commands/cli.py", line 2632, in run
result = ci.function(session, **kw_args)
File
"/Applications/ChimeraX-0.9.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/commands/toolshed.py", line 337, in toolshed_show
bi.start_tool(session, tool_name)
File
"/Applications/ChimeraX-0.9.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/toolshed/info.py", line 633, in start_tool
"start_tool() failed for tool %s in bundle %s:\n%s" % (tool_name, self.name,
str(e)))
chimerax.core.toolshed.ToolshedError: start_tool() failed for tool ISOLDE in
bundle ChimeraX-ISOLDE:
(ChimeraX-Core 0.9
(/Applications/ChimeraX-0.9.app/Contents/lib/python3.7/site-packages),
Requirement.parse('ChimeraX-Core==0.93'), {'ChimeraX-Clipper'})
chimerax.core.toolshed.ToolshedError: start_tool() failed for tool ISOLDE in
bundle ChimeraX-ISOLDE:
(ChimeraX-Core 0.9
(/Applications/ChimeraX-0.9.app/Contents/lib/python3.7/site-packages),
Requirement.parse('ChimeraX-Core==0.93'), {'ChimeraX-Clipper'})
File
"/Applications/ChimeraX-0.9.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/toolshed/info.py", line 633, in start_tool
"start_tool() failed for tool %s in bundle %s:\n%s" % (tool_name, self.name,
str(e)))
See log for complete Python traceback.
OpenGL version: 4.1 ATI-2.11.21
OpenGL renderer: AMD Radeon Pro 560X OpenGL Engine
OpenGL vendor: ATI Technologies Inc.
Change History (3)
comment:1 by , 5 years ago
| Platform: | → all |
|---|---|
| Project: | → ChimeraX |
comment:2 by , 5 years ago
| Cc: | added |
|---|---|
| Component: | Unassigned → Tool Shed |
| Owner: | set to |
| Reporter: | changed from to |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → Better information for bundle requirement problems |
| Type: | defect → enhancement |
comment:3 by , 5 years ago
| Status: | assigned → accepted |
|---|
Python's pip code should be upgraded this summer to prevent incompatible versions of packages being installed. So this should become less of a problem in the future. But even when that happens, there's a chance that this situation will occur, so having a better error message is a good idea.
Note:
See TracTickets
for help on using tickets.
If a bundle manages to get installed without required dependencies then starting it should give a user friendly error message like
"Tool YYY could not start because it requires ChimeraX-Core==0.93. You have ChimeraX-Core==0.9."
and log a traceback traceback, and it should show the Report a Bug button since it is a bug that this was possible. As it is now a user has no idea how to remedy the problem due to the lack of comprehensible error message.