Ejecute el script python en IPython con diagtwigs en línea / incrustados

Me gustaría tener un archivo por lotes en una carpeta con una secuencia de comandos de python . El archivo por lotes debe llamar al script en IPython y trazar las figuras en línea / incrustadas. Aunque hay mucha información sobre esto, no pude hacer que esto funcionara.

  • ¿Cómo ejecutar un script de python con IPython , mostrando gráficos incrustados?
  • ¿Necesito usar pylab o puedo importar matplotlib.pyplot en el script?
  • ¿Tengo que adaptar algo más en el guión?
  • ¿Se debe usar %pylab inline / %matplotlib inline o no?

Los últimos comandos dan

 In [1]: %pylab inline UsageError: Invalid GUI request u'inline', valid ones are:[None, 'osx', 'qt4', 'glut', 'gtk3', 'pyglet', 'wx', 'none', 'qt', 'gtk', 'tk'] In [2]: %matplotlib inline UsageError: Invalid GUI request u'inline', valid ones are: [None, 'osx', 'qt4', 'glut', 'gtk3', 'pyglet', 'wx', 'none', 'qt', 'gtk', 'tk']` 

Hasta ahora he intentado lo siguiente (afortunado)

 ipython --pylab=inline example_plots.py 

Me da lo siguiente y lo abandona.

 E:\CD\package\bin>ipython --pylab=inline example_plots.py WARNING: 'inline' not available as pylab backend, using 'auto' instead. WARNING: 'inline' not available as pylab backend, using 'auto' instead. 

o desde la consola se ejecuta pero como es habitual con las figuras que aparecen (y se cierran de inmediato):

 E:\CD\package\bin>ipython --pylab=inline example_plots.py WARNING: 'inline' not available as pylab backend, using 'auto' instead. WARNING: 'inline' not available as pylab backend, using 'auto' instead. Using matplotlib backend: Qt4Agg # runs python script as usual (not inline) 

Siguiendo Cómo hacer un cuaderno de IPython matplotlib en línea
Con el archivo por lotes (y lo mismo con la consola):

 ipython notebook --pylab inline example_plots.py 2014-01-26 17:52:10.101 [NotebookApp] Using existing profile dir: u'C:\\Users\\Robert\\.ipython\\profile_default' 2014-01-26 17:52:10.111 [NotebookApp] Using MathJax from CDN: http://cdn.mathjax.org/mathjax/latest/MathJax.js 2014-01-26 17:52:10.127 [NotebookApp] Serving notebooks from local directory: E:\CD\package\bin 2014-01-26 17:52:10.128 [NotebookApp] The IPython Notebook is running at: http://127.0.0.1:8888/ 2014-01-26 17:52:10.128 [NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). 

Abre un cuaderno vacío y eso es todo.

¿Qué más debo intentar?

 Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] IPython 1.1.0 -- An enhanced Interactive Python. 

Greg lo contestó aquí:
Inicie ipython qtconsole como intérprete interactivo después de la ejecución del script

Funciona usando la bandera -m

 ipython qtconsole --matplotlib inline -m example_plots 

o

 ipython qtconsole --pylab inline -m example_plots 

Pero no sé, lo que hace la diferencia entre esas dos opciones pylab inline y matplotlib inline . Desde aquí me imagino que preferiría usar --matplotlib inline

Incluso agregar el final del archivo hace lo que quiero, pero se queja de unknown failure después de la ejecución.

pyplot.show(block=True) dará unknown failure , también

¿Cómo ejecutar un script de Python con IPython, mostrando gráficos incrustados?

  • Necesitas usar la consola qt.
  • Ejecute ipython qtconsole .
  • Si tienes jupyter instalado, mejor.
  • Ejecuta jupyter qtconsole

¿Necesito usar pylab o puedo importar matplotlib.pyplot en el script?

  • Ejecute %matplotlib inline antes de importar matplotlib.pyplot.

¿Se debe usar% pylab inline /% matplotlib en línea o no?

  • Sí. Pero Pylab se ha depreciado. Utilice %matplotlib inline .