Hace poco experimenté exactamente tu mismo problema (querer usar MayaVi en lugar de matplotlib para gráficos y animaciones 3D, no querer usar entornos virtuales y querer usar MayaVi con python3). Estos son los pasos directos que seguí para empezar a utilizar MayaVi en mi MacOS Sierra 10.12.5.
(1) brew install vtk --con-python3 --sin-Python
- Mi ordenador tardó unos 33 minutos
- Por lo que he leído, sólo puede haber una versión/wrapper de vtk instalada a la vez, así que como instalaste vtk sin las banderas, puede que quieras ejecutar brew uninstall vtk antes de ejecutar este comando
(2) pip3 install mayavi
A continuación probé a ejecutar el script de http://docs.enthought.com/mayavi/mayavi/auto/example_mlab_visual.html#example-mlab-visual para ver si funcionaba. Tomé ese script exactamente como lo encontré, añadí /usr/bin/env python3 y ejecutarlo como ./prueba.py . Esto dio lugar a:
\======
Traceback (última llamada más reciente): File "./test.py", line 6, in f = mlab.figure(size=(500,500)) File "/usr/local/lib/python3.6/site-packages/mayavi/tools/figure.py", line 63, in figure motor = get_engine() File "/usr/local/lib/python3.6/site-packages/mayavi/tools/engine_manager.py", line 101, in get_engine return self.nuevo_motor() File "/usr/local/lib/python3.6/site-packages/mayavi/tools/engine_manager.py", line 146, in nuevo_motor check_backend() File "/usr/local/lib/python3.6/site-packages/mayavi/tools/engine_manager.py", line 49, in check_backend ''') ImportError: Could not import backend for traits
Asegúrese de tener instalados los proyectos TraitsBackendWx o TraitsBackendQt instalados. Si instalaste Mayavi con easy_install, prueba con easy_install . easy_install Mayavi[app] también funcionará.
Si ha realizado una comprobación del código fuente, asegúrese de ejecutar 'Python setup.py install'. en Traits, TraitsGUI, y el backend Traits de tu 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`
\=====
Así que después de buscar en Google el problema anterior me encontré con una página de problemas github que dijo que instalar los siguientes elementos:
(3) brew install wxpython
(4) pip3 install traitsui (esto ya estaba instalado en mi máquina)
A continuación, la necesidad de instalar PyQt, así que seguí las instrucciones de una pregunta de desbordamiento de pila:
(5) grifo de cerveza cartr/qt4
(6) grifo de cerveza cartr/qt4
(7) brew install qt
(8) brew install pyside
- Mi ordenador tardó unos 11 minutos
Ahora he probado a ejecutar de nuevo el script. Esta vez se ejecutó, pero recibí 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 correctamente el script.