Details
-
Type:
Bug
-
Status: To Do
-
Resolution: Unresolved
-
Fix Version/s: None
-
Component/s: afw, display_matplotlib
-
Labels:
Description
Gabriele Comoretto [X] had a problem with a test failure in display_matplotlib. The error he got was:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
../../../../Linux64/afw/14.0-54-g2e4184dee/python/lsst/afw/display/interface.py:692: in setDefaultBackend
|
Display.setDefaultBackend(backend)
|
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
|
backend = 'matplotlib'
|
|
@staticmethod
|
def setDefaultBackend(backend):
|
try:
|
_makeDisplayImpl(None, backend)
|
except Exception as e:
|
raise RuntimeError(
|
> "Unable to set backend to %s: \"%s\"" % (backend, e))
|
E RuntimeError: Unable to set backend to matplotlib: "module 'matplotlib' has no attribute 'DisplayImpl'"
|
|
../../../../Linux64/afw/14.0-54-g2e4184dee/python/lsst/afw/display/interface.py:252: RuntimeError
|
The problem turned out to be that he did not have libGL.so installed so matplotlib itself could not be imported. I am wondering if the problem is that the backend detection logic in _makeDisplayImpl is trying to do a naive import of backend, and that is working (because matplotlib does exist). The first attempt of lsst.display.matplotlib is failing and matplotlib is next on the list.
I think this line in afw.display is the problem:
if not _disp or not hasattr(_disp.DisplayImpl, "_show"):
|
We might want to put a check for DisplayImpl existing as part of the original detection loop. If we do that we still would lose the original ImportError message though.
Attachments
Issue Links
- mentioned in
-
Page Loading...
Activity
Field | Original Value | New Value |
---|---|---|
Remote Link | This issue links to "Page (Confluence)" [ 31546 ] |
I assume this is still a problem but is clearly a low priority.