如何增加 ipython qtconsole 回滚缓冲区限制
Posted
技术标签:
【中文标题】如何增加 ipython qtconsole 回滚缓冲区限制【英文标题】:How to increase the ipython qtconsole scrollback buffer limit 【发布时间】:2013-01-21 03:51:54 【问题描述】:当我使用以下任何一种加载 ipython 时:
ipython qtconsole
ipython qtconsole --pylab
ipython qtconsole --pylab inline
输出缓冲区只保存最后 500 行。要查看此运行:
for x in range(0, 501):
...: print x
是否有此配置选项? 我试过调整 --cache-size 但这似乎没有什么不同。
【问题讨论】:
【参考方案1】:如果您使用Jupyter,则接受的答案不再正确。相反,命令行选项应该是:
jupyter qtconsole --ConsoleWidget.buffer_size=5000
你可以选择任何你想要的值,只要让它大于默认的 500。
如果您想永久保存,请转到您的主目录 - C:\Users\username
、/Users/username
或 /home/username
- 然后进入 .jupyter
文件夹(如果不存在则创建它),然后创建文件jupyter_qtconsole_config.py
并在您喜欢的编辑器中打开它。添加以下行:
c.ConsoleWidget.buffer_size=5000
同样,数字可以是任何值,只要它是大于 500 的整数即可。不要担心 c
没有在这个特定文件中定义,它已经在启动机制的其他地方定义了。
感谢@firescape 指向正确方向的指针。
【讨论】:
【参考方案2】:快点:
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
,因为您知道要更改的值是什么,这也会找到相关的配置。
【讨论】:
优秀。每个建议都有效。也感谢算法找到其他配置选项。请注意,我认为包含所有默认值的配置文件没有提及 buffer_size。 ipython_qtconsole_config.py 将是相关的。它应该在那里。如果没有,您可能会生成一个新配置ipython profile create fresh
,然后查看那里。
我没有 ipython_qtconsole_config.py 。但现在'ipython profile create fresh' 是一个。唔。推测:这可能是因为 qtconsole 最初在 fedora 17 中不起作用。我必须手动“pip-python install pygments”才能让“ipython qtconsole”工作。到那时我可能已经创建了个人资料。
是的,qtconsole 必须是可导入的才能生成默认配置文件。
对于 Jupyter QtConsole,配置文件是 jupyter_qtconsole_config.py
,您需要添加的行是 c.JupyterWidget.buffer_size=1000
。请注意(至少在 Windows 上)配置文件存储在 ~/.jupyter
目录中。我找不到生成这个配置文件的方法,所以我只做了一个空的。以上是关于如何增加 ipython qtconsole 回滚缓冲区限制的主要内容,如果未能解决你的问题,请参考以下文章
如何从 ipython qtconsole 使用标准库“记录”记录到文件?
脚本执行后启动 ipython qtconsole 作为交互式解释器