Package: mayavi2
Version: 4.7.1-2+b2
Severity: important
X-Debbugs-Cc: [email protected]
Dear Maintainer,
Running mayavi2 from the console leads to a crash:
stefan@debian:~$ mayavi2
Exception occurred in traits notification handler.
Please check the log file for details.
Exception occurred in traits notification handler for object:
<mayavi.plugins.mayavi_ui_plugin.MayaviUIPlugin object at 0x7f2115a2ff40>,
trait: application, old value: None, new value:
<mayavi.plugins.mayavi_workbench_application.MayaviWorkbenchApplication object
at 0x7f2114d75ae0>
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/traits/trait_notifiers.py", line 654, in
_dispatch_change_event
self.dispatch(handler, *args)
File "/usr/lib/python3/dist-packages/traits/trait_notifiers.py", line 553, in
dispatch
handler(*args)
File "/usr/lib/python3/dist-packages/traits/traits_listener.py", line 498, in
handle_simple
self.next.register(new)
File "/usr/lib/python3/dist-packages/traits/traits_listener.py", line 464, in
register
value = getattr(self, type)(new, name, False)
File "/usr/lib/python3/dist-packages/traits/traits_listener.py", line 738, in
_register_simple
return next.register(getattr(object, name))
File
"/usr/lib/python3/dist-packages/envisage/ui/workbench/workbench_application.py",
line 140, in _gui_default
return GUI(splash_screen=self.splash_screen)
File
"/usr/lib/python3/dist-packages/mayavi/plugins/mayavi_workbench_application.py",
line 118, in _splash_screen_default
splash_screen = SplashScreen(
File "/usr/lib/python3/dist-packages/pyface/base_toolkit.py", line 178, in
__init__
raise NotImplementedError(msg % (toolkit, package, name))
NotImplementedError: the null pyface.ui.null backend doesn't implement
splash_screen:SplashScreen
I didn't investigate the exact origin of the crash but found a work around.
According to :
https://github.com/enthought/mayavi/issues/838
doing this before running seems to solve the bug:
export ETS_TOOLKIT=qt
export QT_API=pyqt5
After those exports, I can run mayavi2 correctly.
Maybe one could write a small wrapper around mayavi2 commands that
detects the appropriate setup to create to run it ?
Best regards,
Stéphane
-- System Information:
Debian Release: 11.1
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 5.10.0-9-amd64 (SMP w/2 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FIRMWARE_WORKAROUND,
TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8), LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages mayavi2 depends on:
ii libc6 2.31-13+deb11u2
ii libjs-jquery 3.5.1+dfsg+~3.5.5-7
ii python3 3.9.2-3
ii python3-apptools 4.5.0-1.1
ii python3-configobj 5.0.6-4
ii python3-envisage 4.9.0-2.1
ii python3-numpy [python3-numpy-abi9] 1:1.19.5-1
ii python3-pkg-resources 52.0.0-4
ii python3-pyface 6.1.2-2
ii python3-pygments 2.7.1+dfsg-2.1
ii python3-traits 5.2.0-2+b3
ii python3-traitsui 6.1.3-3
ii python3-vtk7 7.1.1+dfsg2-8
mayavi2 recommends no packages.
Versions of packages mayavi2 suggests:
pn ipython3 <none>
pn python3-scipy <none>
-- no debconf information