IPython Pylab图形不是内联的。

8

我在Mac(OSX Lion)上安装了iPython + SciPy Superpack。

如果使用matplotlib.pyplot进行绘图,它会弹出一个带有图形的窗口,我需要关闭它才能使ipython内核继续运行。

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

然而,如果我尝试使用行内模式(以--pylab inline--pylab=inline开头),并且导入pylab,期望在笔记本中得到一个图形,但实际上却弹出了一个外部窗口,却没有显示任何图像。
仍然在外部窗口中:
import pylab
pylab.plot([1, 2, 3], [3, 6, 9])
pylab.show()

自从我使用 ipython notebook --pylab=inline 启动笔记本后,应该已经这样了,但是如果我在单元格中使用 %pylab inline 并运行它,则会获得帮助信息,而上面相同的代码将创建一个空白窗口并挂起内核 - 我只能强制关闭窗口。这应该如何工作?
1个回答

4
好的——问题在于原始的IPython笔记本进程仍在运行(我没有杀死它),而具有内联标志的新进程正在运行不同的端口。
如果你遇到这个问题——首先保存你所有的笔记本,然后检查是否有其他进程正在运行并杀死任何不应该运行的进程。
如果你想避免这种混乱,可以在配置中设置NotebookApp.port_retries=0,这样后续的笔记本调用将会放弃,而不是在一个新的端口上监听。(感谢评论中的minrk

3
如果你想避免这种混淆,你可以在配置中设置 NotebookApp.port_retries=0,这样后续的笔记本调用会放弃而不是监听一个新的端口。 - minrk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接