Как увеличить лимит буфера прокрутки ipython qtconsole

Когда я загружаю ipython с любым из:

ipython qtconsole
ipython qtconsole --pylab
ipython qtconsole --pylab inline

Выходной буфер содержит только последние 500 строк. Чтобы увидеть этот запуск:

for x in range(0, 501):
   ...:     print x

Есть ли вариант конфигурации для этого? Я пытался настроить --cache-size, но это, похоже, не имеет значения.


person Philip    schedule 06.02.2013    source источник


Ответы (1)


Быстро:

ipython qtconsole --IPythonWidget.buffer_size=1000

Или вы можете установить его навсегда, добавив:

c.IPythonWidget.buffer_size=1000

в вашем конфигурационном файле ipython.

Для обнаружения такого рода вещей есть полезный трюк:

ipython qtconsole --help-all | grep PATTERN

Например, у вас уже был «буфер», поэтому:

$> ipython qtconsole --help-all | grep -C 3 buffer
...
--IPythonWidget.buffer_size=<Integer>
    Default: 500
    The maximum number of lines of text before truncation. Specifying a non-
    positive number disables text truncation (not recommended).

Если бы IPython использовал другое имя, чем вы ожидаете, и этот первый поиск ничего не дал, вы могли бы использовать 500, поскольку вы знали, какое значение вы хотите изменить, что также нашло бы соответствующую конфигурацию.

person minrk    schedule 06.02.2013
comment
Превосходно. Каждое предложение работает. Спасибо также за алгоритм поиска других вариантов конфигурации. Обратите внимание, что файл конфигурации, который, как я думал, содержит все значения по умолчанию, не упоминает размер буфера. - person Philip; 06.02.2013
comment
ipython_qtconsole_config.py будет подходящим. Он должен быть там. Если нет, вы можете создать новую конфигурацию ipython profile create fresh и посмотреть там. - person minrk; 06.02.2013
comment
У меня не было ipython_qtconsole_config.py . Но теперь «профиль ipython создать свежий» делает его. Хм. Предположение: это может быть связано с тем, что qtconsole изначально не работал в Fedora 17. Мне пришлось вручную «pip-python install pygments», чтобы заставить «ipython qtconsole» работать. К тому времени я, возможно, уже создал профили. - person Philip; 07.02.2013
comment
да, qtconsole должен быть импортируемым, чтобы сгенерировать файл конфигурации по умолчанию. - person minrk; 07.02.2013
comment
Я установил это число на 10,000, но внутри кажется, что оно не может вернуться дальше, чем на 1000 с историей-поиска-назад. Я открываю файл sqlite, и в нем есть команды более чем годичной давности (53000 строк), но история не возвращается. - person dashesy; 10.02.2015
comment
Это больше не работает с Jupyter QtConsole, и я не могу найти соответствующие новые настройки. - person dashesy; 11.02.2016
comment
Для Jupyter QtConsole файл конфигурации — jupyter_qtconsole_config.py, а строка, которую нужно добавить, — c.JupyterWidget.buffer_size=1000. Обратите внимание, что (по крайней мере, в Windows) файл конфигурации хранится в каталоге ~/.jupyter. Я не смог найти способ сгенерировать этот файл конфигурации, поэтому просто создал пустой. - person firescape; 12.07.2016