2012-12-16 20 views
7

Ho installato iPython + SciPy Superpack su un Mac (OSX Lion).figure pylab ipython non in linea

Se eseguo il plottaggio utilizzando matplotlib.pyplot, verrà visualizzata una finestra con il grafico e la finestra verrà chiusa per continuare con il kernel ipython.

from matplotlib import pyplot as plt 
plt.plot([1, 2, 3], [3, 6, 9]) 
plt.show() 

Tuttavia, Se provo l'inline (a partire da --pylab inline o --pylab=inline) e l'importazione pylab, invece di un complotto all'interno del notebook (che mi aspetto), ottengo una finestra esterna, che non rende nulla.

Ancora in una finestra esterna:

import pylab 
pylab.plot([1, 2, 3], [3, 6, 9]) 
pylab.show() 

Da quando ho iniziato il notebook con ipython notebook --pylab=inline dovrebbe già essere così, ma se uso %pylab inline in una cella ed eseguirlo, ho l'aiuto, e lo stesso codice sopra crea una finestra vuota e blocca il kernel - Posso solo forzare a uccidere la finestra. Come dovrebbe funzionare?

risposta

4

OK - il problema era che il processo originale del blocco note per ipython era ancora in esecuzione (non l'avrei ucciso) e il nuovo con il flag inline era in esecuzione su una porta diversa.

Se si verifica questo problema, salvare prima tutti i blocchi appunti, quindi verificare che non siano in esecuzione altri processi e uccidere quelli che non dovrebbero essere in esecuzione.

Se si desidera evitare questa confusione, è possibile impostare NotebookApp.port_retries=0 nella configurazione, nel qual caso le chiamate del notebook successive si arrenderanno, piuttosto che ascoltare su una nuova porta. (Credito a minrk, nei commenti)

+3

Se si desidera evitare questa confusione, è possibile impostare 'NotebookApp.port_retries = 0' nella configurazione, nel qual caso le chiamate al notebook successive si arrenderanno, piuttosto che ascoltare su una nuova porta . – minrk

Problemi correlati