打电话时IPython.embed()
是否可以给它一个命令或魔法函数在嵌入发生后运行。
我想运行这样的东西
import IPython
IPython.embed(command='%pylab qt4')
我目前的解决方法是将命令字符串复制到剪贴板,生成一个后台线程,该线程发送击键 %paste 然后输入到当前窗口。这在 linux 上工作正常,但它非常笨拙,我无法让它在 Windows 上也能正常工作。似乎应该可以指定这一点,但我从未掌握 IPython 配置的工作方式或要嵌入的参数的用途。
最佳答案
该文件指出IPython.start_ipython
读取配置文件,同时 IPython.embed
才不是。考虑到这一点,让我们使用前者:
import IPython
c = IPython.Config()
c.InteractiveShellApp.exec_lines = [
'%pylab qt4',
"print 'System Ready!'",
]
IPython.start_ipython(config=c)
更新
我不确定您保留当前命名空间的意思。如果您的意思是本地/全局变量:
IPython.start_ipython(config=c, user_ns=locals()) # Pass in local variables
IPython.start_ipython(config=c, user_ns=globals()) # Pass in global variables
关于python - 嵌入到 IPython 后,您可以指定要运行的命令吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27911570/