Mayavi: Problema de instalación de Mayavi en Mac OSX a través de Homebrew y pip

Creado en 21 dic. 2016  ·  9Comentarios  ·  Fuente: enthought/mayavi

Estoy intentando instalar y usar mayavi en Mac OSX a través de homebrew y pip. Instalé python2, qt5, pyqt5 y vtk 7.1 a través de homebrew y cambié la ruta para que Homebrew python sea la predeterminada. Luego, cuando intento instalar mayavi a través de pip. Cuando ejecuto mayavi2 en la línea de comando, obtengo el siguiente error. No veo un TraitsBackendWx o TraitsBackendQt en pip search . ¿Cómo solucionar este error?

Traceback (most recent call last):
  File "/usr/local/bin/mayavi2", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python2.7/site-packages/mayavi/scripts/mayavi2.py", line 647, in main
    '''
ImportError: Could not import backend for traits
________________________________________________________________________________
Make sure that you have either the TraitsBackendWx or the TraitsBackendQt
projects installed. If you installed Mayavi with easy_install, try easy_install
<pkg_name>. easy_install Mayavi[app] will also work.

If you performed a source checkout, be sure to run 'python setup.py install'
in Traits, TraitsGUI, and the Traits backend of your choice.

Also make sure that either wxPython or PyQT is installed.
wxPython: http://www.wxpython.org/
PyQT: http://www.riverbankcomputing.co.uk/software/pyqt/intro

Comentario más útil

De hecho, ¡el backend de Qt5 funciona perfectamente! (bueno, con todos los ejemplos que probé;) usando tanto el programa mayavi como ipython) ¡Gracias por tu sugerencia!
Cuando estaba navegando por el código fuente, encontré código para un backend Qt5 ya comprometido hace meses, así que de alguna manera asumí que esto ya se había lanzado, sin notar que los paquetes / lanzamientos de pip correspondientes ya tienen ~ 1.5 años.

Para ser más preciso sobre mi configuración: estoy ejecutando OSX y tengo Python 3.6, Qt5, VTK y PyQt instalados usando el administrador de paquetes homebrew. Instalé / construí traitsui, pyface y mayavi en el git master actual usando pip3. Todas las demás dependencias se instalaron desde pip3 en su forma de publicación normal.

Entonces, en cuanto a este boleto, supongo que se puede cerrar con el siguiente veredicto con respecto a los backends en OSX:

  • wxPython es solo una opción cuando usa python 2.x
  • Al usar python 2.x, es posible que también pueda usar PyQT4 / PySide (pero debe compilarlo usted mismo o usar otros administradores de paquetes que no sean homebrew / pip)
  • Cuando use python 3.x, debe usar PyQT5 pero necesita compilar traitsui / pyface / mayavi desde git master
  • PySide (Qt4) es solo una opción para un rango limitado de versiones de Python 3.x (con x <5, IIRC), ¿PySide 2 (Qt5) no es compatible hasta donde yo sé? Pero no probé estos, solo quería mencionarlos.

Todos 9 comentarios

Hola @rambalachandran , TraitsBackendWx y TraitsBackendQt son reemplazados por traitsui y pyface . ¿Podría intentar instalar traitsui y pyface por favor? Y es posible que desee utilizar qt4 y pyqt4 lugar de Qt5.

Gracias. ¿Puede decirme cómo instalar pyqt4? Cuando intento pip install PyQt4 me arroja un error, aunque pip search PyQt4 muestra que tal paquete existe

Instalé todos los paquetes relevantes. No pude encontrar PyQt4 o wxPython en pip, así que instalé PySide . He incluido el pip freeze como archivo adjunto aquí. Incluso después de eso, cuando intento ejecutar mayavi2 , obtengo el mismo error

Traceback (most recent call last):
  File "/usr/local/bin/mayavi2", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python2.7/site-packages/mayavi/scripts/mayavi2.py", line 647, in main
    '''
ImportError: Could not import backend for traits
________________________________________________________________________________
Make sure that you have either the TraitsBackendWx or the TraitsBackendQt
projects installed. If you installed Mayavi with easy_install, try easy_install
<pkg_name>. easy_install Mayavi[app] will also work.

If you performed a source checkout, be sure to run 'python setup.py install'
in Traits, TraitsGUI, and the Traits backend of your choice.

Also make sure that either wxPython or PyQT is installed.
wxPython: http://www.wxpython.org/
PyQT: http://www.riverbankcomputing.co.uk/software/pyqt/intro

pipInstallations.txt

La instalación de wxpython de homebrew resolvió el problema y ahora se abre la GUI para mayavi2.

@rambalachandran - ¿podemos cerrar este problema?

¿Significa esto que no tengo suerte en OSX usando Python 3.6?
El administrador de paquetes mencionado homebrew solo tiene el clásico wxPython, que no es compatible con python 3. pip en realidad abandonó esta versión y proporciona la versión "phoenix" compatible con python 3, pero mayavi es incompatible con esta.
pip3 no tiene una distribución PyQT4 para OSX y PyQt5 no es compatible (al menos no es detectado por rasgos, aunque se importa con éxito a mano)?
Esa es una situación bastante incómoda.

@ Argon-: ¿esto es válido para la versión de github o lo instalaste desde pypi? La última versión debería funcionar con Qt5, pero también requiere versiones más recientes de traitsui / pyface que aún no se han lanzado. Preguntaré sobre una nueva versión de traitsui / pyface compatible con qt5 y luego también enviaré una versión de mayavi.

Probé el maestro actual de pyface pero no sabía que también necesitaba un traitsui (y mayavi) más reciente. ¿Hay otras dependencias que necesite construir localmente?
En ese caso, intentaré / probar de nuevo (mañana) e informaré.

De hecho, ¡el backend de Qt5 funciona perfectamente! (bueno, con todos los ejemplos que probé;) usando tanto el programa mayavi como ipython) ¡Gracias por tu sugerencia!
Cuando estaba navegando por el código fuente, encontré código para un backend Qt5 ya comprometido hace meses, así que de alguna manera asumí que esto ya se había lanzado, sin notar que los paquetes / lanzamientos de pip correspondientes ya tienen ~ 1.5 años.

Para ser más preciso sobre mi configuración: estoy ejecutando OSX y tengo Python 3.6, Qt5, VTK y PyQt instalados usando el administrador de paquetes homebrew. Instalé / construí traitsui, pyface y mayavi en el git master actual usando pip3. Todas las demás dependencias se instalaron desde pip3 en su forma de publicación normal.

Entonces, en cuanto a este boleto, supongo que se puede cerrar con el siguiente veredicto con respecto a los backends en OSX:

  • wxPython es solo una opción cuando usa python 2.x
  • Al usar python 2.x, es posible que también pueda usar PyQT4 / PySide (pero debe compilarlo usted mismo o usar otros administradores de paquetes que no sean homebrew / pip)
  • Cuando use python 3.x, debe usar PyQT5 pero necesita compilar traitsui / pyface / mayavi desde git master
  • PySide (Qt4) es solo una opción para un rango limitado de versiones de Python 3.x (con x <5, IIRC), ¿PySide 2 (Qt5) no es compatible hasta donde yo sé? Pero no probé estos, solo quería mencionarlos.
¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

igamenovoer picture igamenovoer  ·  7Comentarios

Kekushke picture Kekushke  ·  9Comentarios

aestrivex picture aestrivex  ·  9Comentarios

relyativist picture relyativist  ·  16Comentarios

ktavabi picture ktavabi  ·  15Comentarios