2012-12-16 2 views
7

Ich habe installiert ipython + SciPy Superpack auf einem Mac (OSX Lion).ipython pylab Zahlen inline nicht

Wenn ich mit matplotlib.pyplot plotten, wird ein Fenster mit der Grafik Pop-up, und ich schließe dies für den ipython Kernel fortzusetzen.

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

jedoch Wenn ich die Inline (beginnend mit --pylab inline oder --pylab=inline) und Import pylab, statt ein Grundstück im Inneren des Notebooks (das erwarte ich) versuchen, erhalte ich ein externes Fenster, die nie etwas macht.

noch in einem externen Fenster:

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

Da ich das Notebook mit ipython notebook --pylab=inline angefangen habe es schon so sein sollte, aber wenn ich %pylab inline in einer Zelle verwenden, und führen Sie es, ich die Hilfe bekommen, und der gleiche Code oben erstellt ein leeres Fenster und hängt den Kernel - ich kann nur zwingen, das Fenster zu töten. Wie soll das funktionieren?

Antwort

4

Ok - das Problem war, dass der ursprüngliche ipython Notebook Prozess noch lief (ich es nicht getötet habe) und die neuen mit der Inline-Flagge auf einem anderen Port ausgeführt wurde.

Wenn Sie dieses Problem haben - zuerst alle Ihre Notebooks speichern, dann überprüfen Sie nicht andere Prozesse bekommen haben laufen und töten alle, die nicht ausgeführt werden sollte.

Wenn Sie diese Verwirrung vermeiden möchten, können Sie NotebookApp.port_retries=0 in Ihrer Konfiguration einstellen, in diesem Fall geben spätere Notebook-Anrufe auf, anstatt auf einen neuen Port zu hören. (Kredit an minrk, in den Anmerkungen)

+3

Wenn Sie diese Verwirrung vermeiden möchten, können Sie 'NotebookApp.port_retries = 0' in Ihrer Konfiguration einstellen, in welchem ​​Fall spätere Notizbuchanrufe aufgeben, anstatt auf einem neuen Hafen zu hören . – minrk