Philip
Philip

Reputation: 273

How to increase the ipython qtconsole scrollback buffer limit

When I load ipython with any one of:

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

The output buffer only holds the last 500 lines. To see this run:

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

Is there a configuration option for this? I've tried adjusting --cache-size but this does not seem to make a difference.

Upvotes: 12

Views: 3935

Answers (2)

MattDMo
MattDMo

Reputation: 102842

The accepted answer is no longer correct if you are using Jupyter. Instead, the command line option should be:

jupyter qtconsole --ConsoleWidget.buffer_size=5000

You can choose whatever value you want, just make it larger than the default of 500.

If you want to make this permanent, go to your home directory - C:\Users\username, /Users/username, or /home/username - then go into the .jupyter folder (create it if it doesn't exist), then create the file jupyter_qtconsole_config.py and open it up in your favorite editor. Add the following line:

c.ConsoleWidget.buffer_size=5000

Again, the number can be anything, just as long as it is an integer larger than 500. Don't worry that c isn't defined in this particular file, it is already defined elsewhere in the startup machinery.


Thanks to @firescape for the pointer in the right direction.

Upvotes: 0

minrk
minrk

Reputation: 38588

Quickly:

ipython qtconsole --IPythonWidget.buffer_size=1000

Or you can set it permanently by adding:

c.IPythonWidget.buffer_size=1000

in your ipython config file.

For discovering this sort of thing, a helpful trick is:

ipython qtconsole --help-all | grep PATTERN

For instance, you already had 'buffer', so:

$> 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).

If IPython used a different name than you expect and that first search turned up nothing, then you could use 500, since you knew what the value was that you wanted to change, which would also find the relevant config.

Upvotes: 17

Related Questions