Recientemente experimenté exactamente el mismo problema (querer usar MayaVi en lugar de matplotlib para gráficos 3D y animaciones, no querer usar entornos virtuales y querer usar MayaVi con python3). Estos son los pasos directos que seguí para comenzar a usar MayaVi en mi macOS Sierra 10.12.5.
(1) brew install vtk --with-python3 --without-python
- Esto tomó aproximadamente 33 minutos en mi máquina
- Por lo que he leído, solo puede haber una versión / envoltura de vtk instalada a la vez, por lo que, dado que instaló vtk sin las banderas, es posible que desee ejecutar brew uninstall vtk antes de ejecutar este comando
(2) pip3 install mayavi
A continuación, intenté ejecutar el script desde enlace para ver si se correría Tomé el guión exactamente como lo encontré, agregué #! / Usr / bin / env python3 y lo ejecuté como ./test.py . Esto resultó en:
======
Traceback (última llamada más reciente):
Archivo "./test.py", línea 6, en
f = mlab.figure (tamaño = (500,500))
Archivo "/usr/local/lib/python3.6/site-packages/mayavi/tools/figure.py", línea 63, en la figura
motor = get_engine ()
Archivo "/usr/local/lib/python3.6/site-packages/mayavi/tools/engine_manager.py", línea 101, en get_engine
volver auto.new_engine ()
Archivo "/usr/local/lib/python3.6/site-packages/mayavi/tools/engine_manager.py", línea 146, en new_engine
check_backend ()
Archivo "/usr/local/lib/python3.6/site-packages/mayavi/tools/engine_manager.py", línea 49, en check_backend
'' ')
ImportError: no se pudo importar el backend para las características
Asegúrese de que tiene TraitsBackendWx o TraitsBackendQt
proyectos instalados. Si instaló Mayavi con easy_install, intente
Instalación fácil . easy_install Mayavi [aplicación] también funcionará.
Si realizó una comprobación de origen, asegúrese de ejecutar 'python setup.py install'
en Rasgos, TraitsGUI y el backend de Traits de su elección.
Asegúrese también de que wxPython o PyQT estén instalados.
wxPython: http: //www.wxpython.org/
PyQT: http: //www.riverbankcomputing.co.uk/software/pyqt/intro '
=====
Entonces, después de buscar en Google el problema anterior, me topé con una página de problemas con github que decía instalar los siguientes elementos:
(3) brew install wxpython
(4) pip3 install traitsui (esto ya estaba instalado en mi máquina)
Luego, necesitaba instalar PyQt, así que seguí las instrucciones de una pregunta de desbordamiento de pila:
(5) brew tap cartridge / qt4
(6) elaborar tap-pin cartridge / qt4
(7) brew install qt
(8) brew install pyside
- Esto tomó cerca de 11 minutos en mi máquina
Ahora intenté ejecutar el script de nuevo. Esta vez se ejecutó, pero me salió el error:
AttributeError: module 'tvtk.tools.visual' has no attribute 'color'
Así que cambié la línea de importación y modifiqué algunas de las líneas donde se hacen las cajas:
#!/usr/bin/env python3
from mayavi import mlab
from tvtk.tools import visual
from vtk.util import colors as color
# Create a figure
f = mlab.figure(size=(500,500))
# Tell visual to use this as the viewer.
visual.set_viewer(f)
# A silly visualization.
mlab.test_plot3d()
# Even sillier animation.
b1 = visual.box()
b2 = visual.box(x=4., color=color.red)
b3 = visual.box(x=-4, color=color.red)
b1.v = 5.0
@mlab.show
@mlab.animate(delay=250)
def anim():
"""Animate the b1 box."""
while 1:
b1.x = b1.x + b1.v*0.1
if b1.x > 2.5 or b1.x < -2.5:
b1.v = -b1.v
yield
# Run the animation.
anim()
¡Y puedo ejecutar el script con éxito!