Я бы хотел запустить демонстрации SfePy, но при отображении с помощью Mayavi возникла проблема.См. http://sfepy.org/doc-devel/installation.html#requirements
Я:
- создал среду Anaconda Python 3.6 (за этот ответ ), используя
conda create --name SfePy36 python=3.6
установлен Mayavi с использованием conda install -c conda-forge mayavi
установлен pip3 с использованием python3 get-pip.py
(из здесь )
установленPyQt5 с использованием pip3 install PyQt5
Я не знаю, как самостоятельно проверить, правильно ли установлен 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.
Простая демонстрация не работает (с здесь ):
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()