我在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
并运行它,我会得到帮助,上面相同的代码会创建一个空白的窗口,并挂起内核 - 我只能强制杀死窗口。
这应该怎么做?
答案 0 :(得分:4)
好的 - 问题是原来的ipython笔记本进程仍在运行(我没有杀死它),带有内联标志的新进程正在另一个端口上运行。
如果您遇到此问题 - 首先保存所有笔记本,然后检查您是否没有运行其他进程并杀死任何不应运行的进程。
如果您想避免这种混淆,可以在配置中设置NotebookApp.port_retries=0
,在这种情况下,以后的笔记本电话会放弃,而不是监听新端口。 (在评论中记入minrk)