PyQt5 失败,因为 "suitable UI Toolkit" for Mayavi with Python 3.6

PyQt5 fails as "suitable UI Toolkit" for Mayavi with Python 3.6

我想 运行 SfePy 演示,但使用 Mayavi 显示时出现问题。参见 http://sfepy.org/doc-devel/installation.html#requirements

我已经:

我不知道如何独立检查 PyQt5 是否安装正确。如果我重复 pip3 install PyQt5 它告诉我它已经安装,但这并不意味着它已正确完成或位于正确的位置。


当我 运行 下面非常简单的 mayavi 测试时,我得到以下错误。

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/david/anaconda3/envs/SfePy36/lib/python3.6/site- packages/mayavi/tools/sources.py", line 1162, in scalar_field
    return tools.add_dataset(data_source.m_data, name, **kwargs)
  File "/Users/david/anaconda3/envs/SfePy36/lib/python3.6/site-packages/mayavi/tools/tools.py", line 91, in add_dataset
engine = _get_engine_from_kwarg(kwargs)
  File "/Users/david/anaconda3/envs/SfePy36/lib/python3.6/site-packages/mayavi/tools/tools.py", line 36, in _get_engine_from_kwarg
    gcf()
  File "/Users/david/anaconda3/envs/SfePy36/lib/python3.6/site-packages/mayavi/tools/figure.py", line 114, in gcf
engine = get_engine()
  File "/Users/david/anaconda3/envs/SfePy36/lib/python3.6/site-packages/mayavi/tools/engine_manager.py", line 92, in get_engine
return self.new_engine()
  File "/Users/david/anaconda3/envs/SfePy36/lib/python3.6/site-packages/mayavi/tools/engine_manager.py", line 137, in new_engine
check_backend()
  File "/Users/david/anaconda3/envs/SfePy36/lib/python3.6/site-packages/mayavi/tools/engine_manager.py", line 40, in check_backend
raise ImportError(msg)
ImportError: Could not import backend for traitsui.  Make sure you
    have a suitable UI toolkit like PyQt/PySide or wxPython
    installed.

简单演示失败(来自here):

from mayavi import mlab
import numpy as np

x, y, z = np.mgrid[-10:10:20j, -10:10:20j, -10:10:20j]
s = np.sin(x*y*z)/(x*y*z)

mlab.pipeline.volume(mlab.pipeline.scalar_field(x,y,z,s))
mlab.show()

您可能必须使用 wxPython 而不是 PyQt/PySide。看看installation guide,第2点