IPython qtconsole自定义横幅

时间:2015-05-11 18:57:43

标签: python ipython jupyter

我正在尝试为IPython qtconsole(v3.0.0)设置自定义横幅。在我的个人资料配置中,我设置了c.IPythonWidget.banner = u'Custom Banner',然后启动了ipython qtconsole --profile=myprof。我得到的是我的自定义横幅预先定位到常规横幅:

Custom BannerPython 2.7.5 (default, Mar  9 2014, 22:15:05) 
Type "copyright", "credits" or "license" for more information.

IPython 3.0.0 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.
%guiref   -> A brief reference about the graphical user interface.

IPython profile: myprof

In [1]: 

如何才能打印我的横幅,例如

Custom Banner

IPython profile: myprof

In [1]: 

感谢。

2 个答案:

答案 0 :(得分:0)

这不理想,但我可以通过在IPython源代码的default_gui_banner=""模块中设置core/usage.py来禁止默认横幅。我没有找到任何方法来做到这一点而不修改源(这是丑陋的),所以如果有人有更好的方式,我都是耳朵。

答案 1 :(得分:0)

您不想要的消息将作为内核横幅的一部分打印出来(它从外壳获取)。在使用/连接到其他地方的内核之前,我可以通过将shell的banner1属性设置为空字符串来避免打印它:

from IPython.qt.inprocess import QtInProcessKernelManager
kernel_manager = QtInProcessKernelManager()
kernel_manager.start_kernel()
kernel_manager.kernel.shell.banner1 = ""

我只和IPython Qt一起使用/测试过这个,所以这可能不适用于其他内核。