2015-05-11 5 views
2

Я пытаюсь настроить собственный баннер для qtconsole IPython (v3.0.0). В моей конфигурации профиля я установил c.IPythonWidget.banner = u'Custom Banner', а затем запустил ipython qtconsole --profile=myprof. То, что я получаю мой пользовательский баннер предварительно затрачиваемая на очередной баннер:IPython qtconsole custom banner

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]: 

Спасибо.

ответ

0

Это не идеальный вариант, но я смог подавить баннер по умолчанию, установив default_gui_banner="" в модуле core/usage.py в источнике IPython. Я не смог найти способ сделать это без изменения источника (что уродливо), поэтому, если у кого-то есть лучший способ, я все уши.

0

Сообщение, которое вы не хотите, печатается как часть баннера ядра (который он получает из своей оболочки). Я был в состоянии избежать печати, установив атрибут командного интерпретатора banner1 в пустую строку перед использованием/подключения к ядру в другом месте:

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

Я работал только с/проверил это с материалом IPython Qt, так это может не работать для других ядер.

Смежные вопросы