Ошибка "модуль" объекта Mayavi не имеет атрибута "SplashScreen"

Я использую Fipy ( https://www.ctcms.nist.gov/fipy/) для моделирования 3D-диффузии.

У меня ошибка при рендеринге среды с использованием Mayavi. Мой код:

from fipy import Viewer, TransientTerm, DiffusionTerm, CellVariable, Grid3D, Variable, MayaviClient, numerix

nx=20
ny=nx
nz= nx
dx=1.
dy=dx
dz = dx
L=dx*nx


mesh=Grid3D(dx=dx,dy=dy,nx=nx,ny=ny, dz=dz, nz=nz)

phi=CellVariable(name="solutionvariable",
                 mesh=mesh,
                 value=0.)

D=1.
eq=TransientTerm()==DiffusionTerm(coeff=D)

# Mayavi viewer

x, y, z = mesh.cellCenters
xyzVar = CellVariable(mesh=mesh, name=r"x y z", value=x * y * z)
k = Variable(name="k", value=0.)
viewer = MayaviClient(vars=numerix.sin(k * xyzVar),limits={'ymin': 0.1, 'ymax': 0.9},datamin=-0.9, datamax=2.0,title="MayaviClient test")

# End of Mayavi viewer

steps = 100
for step in range(steps):
    k.setValue(step)
    #eq.solve(var=phi,dt=1)
    viewer.plot()

Полный стек ошибок:

/home/dario/anaconda2/envs/panaxea/bin/python /home/dario/phdCode/fipym/3dexample.py
22:17:18: Debug: Adding duplicate image handler for 'Windows bitmap file'
22:17:18: Debug: Adding duplicate image handler for 'Windows bitmap file'
/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/pyface/ui/wx/clipboard.py:24: wxPyDeprecationWarning: Call to deprecated item. Use wx.DataFormat instead.
  PythonObjectFormat = wx.CustomDataFormat('PythonObject')
/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/pyface/wx/drag_and_drop.py:94: wxPyDeprecationWarning: Call to deprecated item. Use wx.DataFormat instead.
  PythonObject = wx.CustomDataFormat('PythonObject')
viewer: NOT READY
viewer: NOT READY
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 0x7f300dfb67d0>, trait: application, old value: None, new value: <mayavi.plugins.mayavi_workbench_application.MayaviWorkbenchApplication object at 0x7f300dfb6ad0>
Traceback (most recent call last):
  File "/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/traits/trait_notifiers.py", line 576, in _dispatch_change_event
    self.dispatch( handler, *args )
  File "/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/traits/trait_notifiers.py", line 482, in dispatch
    handler( *args )
  File "/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/traits/traits_listener.py", line 467, in handle_simple
    self.next.register( new )
  File "/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/traits/traits_listener.py", line 433, in register
    value = getattr( self, type )( new, name, False )
  File "/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/traits/traits_listener.py", line 701, in _register_simple
    return next.register( getattr( object, name ) )
  File "/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/envisage/ui/workbench/workbench_application.py", line 132, in _gui_default
    return GUI(splash_screen=self.splash_screen)
  File "/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/pyface/ui/wx/gui.py", line 60, in __init__
    self._splash_screen.open()
  File "/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/pyface/i_splash_screen.py", line 79, in open
    super(MSplashScreen, self).open()
  File "/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/pyface/i_window.py", line 166, in open
    self._create()
  File "/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/pyface/i_widget.py", line 112, in _create
    self.control = self._create_control(self.parent)
  File "/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/pyface/ui/wx/splash_screen.py", line 69, in _create_control
    splash_screen = wx.SplashScreen(
AttributeError: 'module' object has no attribute 'SplashScreen'
Exception occurred in traits notification handler for object: <__main__.MayaviDaemon object at 0x7f300dff2890>, trait: application, old value: None, new value: <mayavi.plugins.mayavi_workbench_application.MayaviWorkbenchApplication object at 0x7f300dfb6ad0>
Traceback (most recent call last):
  File "/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/traits/trait_notifiers.py", line 576, in _dispatch_change_event
    self.dispatch( handler, *args )
  File "/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/traits/trait_notifiers.py", line 482, in dispatch
    handler( *args )
  File "/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/traits/traits_listener.py", line 467, in handle_simple
    self.next.register( new )
  File "/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/traits/traits_listener.py", line 433, in register
    value = getattr( self, type )( new, name, False )
  File "/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/traits/traits_listener.py", line 701, in _register_simple
    return next.register( getattr( object, name ) )
  File "/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/envisage/ui/workbench/workbench_application.py", line 132, in _gui_default
    return GUI(splash_screen=self.splash_screen)
  File "/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/pyface/ui/wx/gui.py", line 60, in __init__
    self._splash_screen.open()
  File "/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/pyface/i_splash_screen.py", line 79, in open
    super(MSplashScreen, self).open()
  File "/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/pyface/i_window.py", line 166, in open
    self._create()
  File "/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/pyface/i_widget.py", line 112, in _create
    self.control = self._create_control(self.parent)
  File "/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/pyface/ui/wx/splash_screen.py", line 69, in _create_control
    splash_screen = wx.SplashScreen(
AttributeError: 'module' object has no attribute 'SplashScreen'
Traceback (most recent call last):
  File "/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/FiPy-3.1.3.dev351+gb648878-py2.7.egg/fipy/viewers/mayaviViewer/mayaviDaemon.py", line 349, in <module>
    main(sys.argv[1:])
  File "/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/FiPy-3.1.3.dev351+gb648878-py2.7.egg/fipy/viewers/mayaviViewer/mayaviDaemon.py", line 345, in main
    m.main(argv)
  File "/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/mayavi/plugins/app.py", line 195, in main
    app.run()
  File "/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/mayavi/plugins/mayavi_workbench_application.py", line 73, in run
    gui = self.gui
  File "/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/envisage/ui/workbench/workbench_application.py", line 132, in _gui_default
    return GUI(splash_screen=self.splash_screen)
  File "/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/pyface/ui/wx/gui.py", line 60, in __init__
    self._splash_screen.open()
  File "/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/pyface/i_splash_screen.py", line 79, in open
    super(MSplashScreen, self).open()
  File "/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/pyface/i_window.py", line 166, in open
    self._create()
  File "/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/pyface/i_widget.py", line 112, in _create
    self.control = self._create_control(self.parent)
  File "/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/pyface/ui/wx/splash_screen.py", line 69, in _create_control
    splash_screen = wx.SplashScreen(
AttributeError: 'module' object has no attribute 'SplashScreen'
ERROR: In /work/standalone-x64-build/VTK-source/IO/Legacy/vtkDataWriter.cxx, line 180
vtkUnstructuredGridWriter (0x7faddef29700): Unable to open file: /tmp/tmpOkt32j/cell.vtk

Traceback (most recent call last):
  File "/home/dario/phdCode/fipym/3dexample.py", line 12, in <module>
    viewer.plot()
  File "/home/dario/anaconda2/envs/panaxea/lib/python2.7/site-packages/FiPy-3.1.3.dev351+gb648878-py2.7.egg/fipy/viewers/mayaviViewer/mayaviClient.py", line 186, in plot
    lock = file(self.vtklockfname, 'w')
IOError: [Errno 2] No such file or directory: '/tmp/tmpOkt32j/lock'
Exception OSError: (2, 'No such file or directory', '/tmp/tmpOkt32j') in <bound method MayaviClient.__del__ of <fipy.viewers.mayaviViewer.mayaviClient.MayaviClient object at 0x7faddddf1c50>> ignored

Process finished with exit code 1

Инструкции по установке ( https://docs.enthought.com/mayavi/mayavi/installation.html) требуют:

  1. ВТК
  2. Инструментарий GUI, PyQt4, PySide, PyQt5 или wxPython.

Где я считаю, что у меня есть как pip list производит:

Package                       Version               Location                
----------------------------- --------------------- ------------------------
appdirs                       1.4.3                 
apptools                      4.4.0                 
backports.functools-lru-cache 1.5                   
certifi                       2018.4.16             
chardet                       3.0.4                 
configobj                     5.0.6                 
cycler                        0.10.0                
envisage                      4.6.0                 
FiPy                          3.1.3.dev351+gb648878 
future                        0.16.0                
gist                          0.0.8                 
idna                          2.7                   
kiwisolver                    1.0.1                 
matplotlib                    2.2.2                 
mayavi                        4.6.0                 
meshio                        2.0.4                 
numpy                         1.14.5                
pip                           10.0.1                
pipdate                       0.3.1                 
pyface                        6.0.0                 
pyglet                        1.3.2                 
Pygments                      2.2.0                 
pygmsh                        4.3.4                 
pyparsing                     2.2.0                 
Pypubsub                      4.0.0                 
pysparse                      1.3.dev0              /home/dario/src/pysparse
python-dateutil               2.7.3                 
pytz                          2018.5                
requests                      2.19.1                
scipy                         1.1.0                 
setuptools                    39.2.0                
six                           1.11.0                
subprocess32                  3.5.2                 
traits                        4.6.0                 
traitsui                      6.0.0                 
typing                        3.6.4                 
urllib3                       1.23                  
vtk                           8.1.1                 
wheel                         0.31.1                
wxPython                      4.0.3      

Я чувствую, что что-то не так с моей установкой, но, похоже, не могу понять это. Я использую Ubuntu 14.04.3 LTS, это Python 2.7 (Anaconda 2) через IntelliJ 2017.2.

0 ответов

Другие вопросы по тегам