Recentemente ho sperimentato il tuo stesso identico problema (volendo usare MayaVi invece di matplotlib per grafici 3D e animazioni, non volendo usare ambienti virtuali e volendo usare MayaVi con python3). Questi sono i passaggi diretti che ho seguito per iniziare a utilizzare MayaVi su macOS Sierra 10.12.5.
(1) brew install vtk --with-python3 --without-python
- Ci sono voluti circa 33 minuti sulla mia macchina
- Da quanto ho letto, può essere installata una sola versione / wrapper di vtk alla volta, quindi da quando hai installato vtk senza i flag, potresti eseguire brew uninstall vtk prima di eseguirlo questo comando
(2) installazione di pip3 mayavi
Successivamente ho provato a eseguire lo script da link per vedere se correrebbe. Ho preso esattamente quello script come trovato, ho aggiunto #! / Usr / bin / env python3 e l'ho eseguito come ./ test.py . Ciò ha provocato:
======
Traceback (ultima chiamata più recente):
File "./test.py", riga 6, in
f = mlab.figure (size = (500,500))
File "/usr/local/lib/python3.6/site-packages/mayavi/tools/figure.py", riga 63, in figura
engine = get_engine ()
File "/usr/local/lib/python3.6/site-packages/mayavi/tools/engine_manager.py", riga 101, in get_engine
return self.new_engine ()
File "/usr/local/lib/python3.6/site-packages/mayavi/tools/engine_manager.py", riga 146, in new_engine
check_backend ()
File "/usr/local/lib/python3.6/site-packages/mayavi/tools/engine_manager.py", riga 49, in check_backend
'' ')
ImportError: impossibile importare il back-end per i tratti
Assicurati di avere TraitsBackendWx o TraitsBackendQt
progetti installati. Se hai installato Mayavi con easy_install, prova
easy_install. easy_install Mayavi [app] funzionerà anche.
Se hai eseguito un checkout sorgente, assicurati di eseguire "python setup.py install"
in Tratti, TraitsGUI e il backend dei Tratti a tua scelta.
Assicurati anche che sia installato wxPython o PyQT.
wxPython: http: //www.wxpython.org/
PyQT: http: //www.riverbankcomputing.co.uk/software/pyqt/intro '
=====
Quindi, dopo aver cercato su google il problema precedente, mi sono imbattuto in una pagina di rilascio github che diceva di installare i seguenti elementi:
(3) brew install wxpython
(4) pip3 install traitsui (questo era già installato sulla mia macchina)
Successivamente, ho bisogno di installare PyQt, quindi ho seguito le istruzioni da una domanda di overflow dello stack:
(5) brew tap cartr / qt4
(6) brew pin-tap / qt4
(7) brew install qt
(8) brew install pyside
- Ci sono voluti circa 11 minuti sulla mia macchina
Ora ho provato a eseguire nuovamente lo script. Questa volta è stato eseguito, ma ho ricevuto l'errore:
AttributeError: module 'tvtk.tools.visual' has no attribute 'color'
Quindi ho modificato la linea di importazione e modificato alcune linee in cui sono state create le scatole:
#!/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()
E posso eseguire correttamente lo script!