IPython shell具有enable_pylab
方法。因此,在交互模式下,它看起来像:
In [1]: ipshell = get_ipython()
In [2]: ipshell.enable_pylab()
Out[2]: ('tk', 'TkAgg', [])
In [3]: pi
Out[3]: 3.141592653589793
我希望以下代码应该在其命名空间中运行带有pi
的交互式IPython shell:
import IPython.terminal.embed as embed
ipshell = embed.InteractiveShellEmbed()
ipshell.enable_pylab()
ipshell()
但事实并非如此。
我怀疑问题是在enable_pylab
被初始化之前调用了ipshell
。似乎enable_pylab
更新user_ns
,但也许初始化程序会覆盖它。?
如果是这种情况,我可以以某种方式初始化shell而不嵌入它,然后启用pylab,然后嵌入它吗?
我使用的是Python 2.7,IPython 3.0.0,pylab 1.9.2。