问题
I'm using Enthought's beta distribution of Python Canopy 0.9.1 on Windows 7. How do I increase the size of my IPython buffer. Also how do I pipe the output of a command through a paginator; output is currently unpaginated.
If existing answers like How to increase the ipython qtconsole scrollback buffer limit or How to use Pipe in ipython will work, I don't know how to apply them to Windows.
Thank you!
回答1:
There's currently no preference or config option to increase the buffer limit currently, but you could create a macro with the following code, and run it.
def run():
code_task = get_active_task()
python_pane = code_task.python_pane
python_pane.frontend.control.buffer_size = 1000
Setting the buffer_size
to a non-positive value, will turn off clipping of the buffer, but this option is "not recommended" by the IPython devs.
To create a new macro,
- go to
Tools (Menu) > Edit Macros ...
- Click on the "Create a new macro" button and give the macro a suitable name.
- Copy the code above, into your macro
- Optionally, you can add a keyboard shortcut for running this macro, by clicking on the keybinding text box in the bottom right, and pressing the desired key-combination. If you choose not to set a keyboard shortcut, you can run the macro from
Tools > Run Macro > (your macro)
回答2:
Let me add to Puneeth's answer that our macro framework allows you to script parts of the application itself. To create a new macro with this code,
Select Tools > Edit macros... and click the "Create a new macro" button in the menu of the new macro window.
Choose and a name, and in the file describing the macro, replace the run function by the one given by Puneeth.
You will also need to create a shortcut combination in the bottom right panel. Click in the Keybinding text box, and type in a short cut of your choice: it will be recorded and stored there.
Save and you are good to go.
Jonathan
回答3:
Sharing my own solution... if you want to see output that is larger than the iPython buffer, and you're more interested (as I was) in looking output later anyway, you can use the session logging feature of iPython.
In []: %logstart -or filename
and later
In []: %logstop
来源:https://stackoverflow.com/questions/15472230/ipython-buffer-and-pagination-in-enthought-canopy