Mayavi: Mayavi con IPython y Qt

Creado en 12 abr. 2014  ·  7Comentarios  ·  Fuente: enthought/mayavi

Si bien los documentos no lo mencionan explícitamente, supongo que debería ser posible ejecutar Mayavi en IPython (v. 2.0.0) con qt ... pero

$ ETS_TOOLKIT=qt4 ipython2 --gui=qt4 -c 'from mayavi import mlab'
<...>
/usr/lib/python2.7/site-packages/pyface/qt/__init__.py in prepare_pyqt4()
     15     # Set PySide compatible APIs.
     16     import sip
---> 17     sip.setapi('QString', 2)
     18     sip.setapi('QVariant', 2)
     19 

ValueError: API 'QString' has already been set to version 1
bug

Todos 7 comentarios

Debería estar bien si (1) instala pyside y (2) desinstala PyQt o también establece QT_API=pyside

¡No! Simplemente tiene que configurar sip en la API n. ° 2 antes de que ipython inicie el bucle de eventos qt (generalmente al importar matplotlib). Puede hacerlo usando variables de entorno, argumentos de línea de comando o programáticamente.
Además, si usa un IDE como spyder, puede configurarlo automáticamente.

No estoy seguro de si es realmente un error, pero no es realmente comunicativo, por lo que es una "solución por documento" o una "solución por mensaje de error" al menos.

En mi humilde opinión, esto no es un error, pero deberíamos agregar este enlace de ipython doc a mayavi doc y mencionar que la bandera --gui=qt depende del backend de PySide / PyQt (al menos aquí: http://docs.enthought.com/ mayavi / mayavi / mlab.html y hay un par de otros lugares)

Ahora esto está cerrado, pero no quiero abrir un nuevo problema, ya que parece resuelto. Sin embargo, intenté hacer todo lo que leí aquí (cambiando ETS_TOOLKIT y QT_API ) y en los enlaces proporcionados, pero el error continúa.
Estoy usando mayavi 4.5.0 py27_0 con python 2.7.12 , todos instalados a través de conda . Intenté usar ipython y también en jupyter notebook , pero muestra el mismo mensaje ( API 'QString' has already been set to version 1 ).
Realmente no sé qué me estoy perdiendo para resolver esto.

@victortxa : ¿puedes ver también la discusión en el n. ° 532.

¿Fue útil esta página
0 / 5 - 0 calificaciones