pythonfipy

viewer error when running the stokesCavity.py example


Running Manjaro stable with python-3.9 and python-fipy-3.4.2.1-1.

Just got started with FiPy, ultimately interested in writing single and two-phase flow code. Naturally I tried to run examples/flow/stokesCavity.py (stripped down from all rst text) with: python stokesCavity.py and it throws the following error:

Traceback (most recent call last):
  File "/home/zbinkz/HGST/Projects/Python/fipy/examples/flow/stokesCavity.py", line 117, in <module>
    viewer = Viewer(vars=(pressure, xVelocity, yVelocity, velocity),
  File "/usr/lib/python3.9/site-packages/fipy/viewers/__init__.py", line 130, in Viewer
    raise ImportError("Failed to import a viewer: %s" % str(errors))
ImportError: Failed to import a viewer: ["matplotlib: True is not a valid value for orientation; supported values are None, 'vertical', 'horizontal'", "mayavi: No module named 'enthought'"]

I tinkered with different values for FIPY_VIEWER in the viewer command at line 117 reported above but still get the same error. At this very early stage with FiPy I'm clueless, anybody know how to fix this?

Thanks :)


Solution

  • In this line, change

    ...     viewer = Viewer(vars=(pressure, xVelocity, yVelocity, velocity),
    ...                xmin=0., xmax=1., ymin=0., ymax=1., colorbar=True)
    

    to

    ...     viewer = Viewer(vars=(pressure, xVelocity, yVelocity, velocity),
    ...                xmin=0., xmax=1., ymin=0., ymax=1., colorbar='vertical')
    

    I've filed a ticket to correct this.