我已经定义了我自己的显示钩子,它继承自 IPython.core.displayhook.DisplayHook。
我无法在网上找到任何关于覆盖 IPython shell 显示钩子的正确方法的资源。目前,我在 ~/.ipython/profile_default/startup/imports.py 中执行以下操作:
ipyShell = IPython.get_ipython()
ipyShell.displayhook = MyDisplayHook(shell=ipyShell)
ipyShell.displayhook_class = MyDisplayHook
sys.displayhook = ipyShell.displayhook
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为在 ipython shell 启动后, sys.displayhook 以某种方式切换回常规 ipython 显示钩子:
In [5]: print sys.displayhook
<IPython.core.displayhook.DisplayHook object at 0x7f1491853610>
Run Code Online (Sandbox Code Playgroud)
谢谢。