¿Cómo instalo mayAVI para mi python3 en macOS Sierra?

He estado usando matplotlib para trazar gráficos 3D, sin embargo, descubrí que matplotlib no tiene una función de arrastrar y rotar para los gráficos 3D trazados. Me gustaría instalar mayAVI que me permita hacerlo, sin embargo, no puedo encontrar ningún método infalible para instalarlo. ¿Alguien podría guiarme en el proceso de instalación? No uso entornos virtuales.

Respuestas (3)

Recientemente experimenté exactamente el 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 comenzar a usar MayaVi en mi macOS Sierra 10.12.5.

(1) brew install vtk --with-python3 --sin-python

  • Esto tomó aproximadamente 33 minutos en mi máquina
  • Por lo que he leído, solo puede haber una versión/contenedor de vtk instalado a la vez, por lo que como instaló vtk sin las banderas, es posible que desee ejecutar brew uninstall vtk antes de ejecutar este comando

(2) pip3 instalar mayavi

A continuación, intenté ejecutar el script desde 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é, agregué #!/usr/bin/env python3 y lo ejecuté como ./test.py . Esto resultó en:

======

Rastreo (última llamada más reciente): Archivo "./test.py", línea 6, en f = mlab.figure(size=(500,500)) Archivo "/usr/local/lib/python3.6/site-packages/ mayavi/tools/figure.py", línea 63, en figure engine = get_engine() Archivo "/usr/local/lib/python3.6/site-packages/mayavi/tools/engine_manager.py", línea 101, en get_engine return self.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 tener instalados los proyectos TraitsBackendWx o TraitsBackendQt. Si instaló Mayavi con easy_install, intente easy_install. easy_install Mayavi[app] también funcionará.

Si realizó una verificación de fuente, asegúrese de ejecutar 'python setup.py install' en Traits, TraitsGUI y el backend de Traits de su elección.

También asegúrese de que esté instalado wxPython o PyQT. wxPython: http: //www.wxpython.org/ PyQT: http: //www.riverbankcomputing.co.uk/software/pyqt/intro`

=====

Entonces, después de buscar en Google el problema anterior, encontré una página de problemas de github que decía instalar los siguientes elementos:

(3) preparar la instalación de wxpython

(4) pip3 install traitsui (esto ya estaba instalado en mi máquina)

A continuación, necesitaba instalar PyQt, así que seguí las instrucciones de una pregunta de desbordamiento de pila:

(5) cartucho del grifo de preparación/qt4

(6) cartucho de clavija de preparación de cerveza/qt4

(7) cerveza instalar qt

(8) preparar cerveza instalar pyside

  • Esto tomó alrededor de 11 minutos en mi máquina

Ahora intenté ejecutar el script de nuevo. Esta vez funcionó, pero obtuve 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 con éxito el script!

Mi respuesta es similar a la respuesta anterior de Erdrick, sin embargo, uso conda en lugar de pip, lo que simplifica la instalación.

En primer lugar, construyamos un entorno virtual:

conda create --name myenv python=3

En segundo lugar, active el entorno llamado 'myenv' y actualice la conda a través de:

conda update -n base conda

En tercer lugar,

brew install vtk --with-python3 --without-python

Finalmente,

conda install -c anaconda mayavi 

Este comando conda también instalará las bibliotecas dependientes requeridas por mayavi.

Estos comandos pueden funcionar en los últimos macos Mojave y en el antiguo Sierra de mi lado.

¿ Tienes Homebrew? Si no, así es como lo instalas. Puede tomar unos minutos. Solo copia y pega esto:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

luego, primero debe instalar VTK Python a través de:

brew install vtk

y luego para instalar mayAVI en sí:

pip install mayavi

Pip es el administrador de paquetes de python que viene automáticamente con python, y dado que tiene una Mac, ya la tiene instalada en su sistema. Si por alguna razón no lo hace, puede seguir las instrucciones aquí si es necesario para descargarlo

Hola, gracias por las instrucciones, las seguí e instalé con éxito vtk, sin embargo, tengo el siguiente error al instalar mayavi a través de: pip3 install mayavi Comando "/usr/local/opt/python3/bin/python3.6 -u -c "importar herramientas de configuración, tokenizar;__file__='/private/var/folders/2d/qk9x42ws7s9dqr3n6cm2jrhr0000gn/T/pip-build-eefc74h7/mayavi/setup.py';f=getattr(tokenizar, 'abrir', abrir)( archivo ) ;code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file , 'exec'))" install --record
/var/folders/2d/qk9x42ws7s9dqr3n6cm2jrhr0000gn/T/pip-bbm_eqpb-record/install-record.txt --single-version-externally-managed --compile" falló con el código de error 1 en /private/var/folders/2d/ qk9x42ws7s9dqr3n6cm2jrhr0000gn/T/pip-build-eefc74h7/mayavi/
@Tian No estoy seguro, tendrá que buscar en Google el código de error para obtener más detalles.
@ Gleland, lo siento, me doy cuenta de que no fui lo suficientemente específico, usé el comando: pip3 install mayavi porque quería instalar mayavi en mi python3 en su lugar, sin embargo, recibí el mensaje de error: ModuleNotFoundError: No module named 'vtk' seguido de ese bloque del código que comenté anteriormente. ¿Esto ayuda?
@Tian ¿Has mirado esta publicación al respecto?