You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为JupyterLab中的长结果(如GridSearchCV日志)启用滚动条?

Fixing Long Verbose Output in JupyterLab with Scrollable Cells

Absolutely! I’ve dealt with this exact frustration—verbose GridSearchCV logs taking over entire notebook cells in JupyterLab is no fun. Luckily, you can replicate the classic Jupyter Notebook’s scrollable output behavior with a few simple tricks:

1. Manually Wrap Output in a Scrollable Container

For one-off cases where you need to contain verbose output, use IPython’s display.HTML to create a fixed-height box with vertical scrolling. This works great for cv_results_ or any long returned object:

from IPython.display import display, HTML
from sklearn.model_selection import GridSearchCV

# Run your GridSearchCV with verbose logging
grid_search = GridSearchCV(estimator=your_model, param_grid=your_params, verbose=3)
grid_search.fit(X_train, y_train)

# Display results in a scrollable box
display(HTML(f'<div style="max-height: 400px; overflow-y: scroll;">{grid_search.cv_results_}</div>'))

Tweak the max-height value (e.g., 500px) to fit your preferred view.

2. Set Global Scrollable Output for All Cells

If you want scrollable output by default for every cell (just like the classic Notebook), adjust JupyterLab’s settings permanently:

  • Click the gear icon in the top right to open the Settings menu
  • Select Advanced Settings Editor
  • From the left sidebar, choose Notebook
  • Look for the maxOutputHeight field under Notebook Tools—change its value from null to a pixel height (e.g., 400)
  • Hit Save Settings at the top right

Now any cell output that exceeds this height will automatically get a vertical scrollbar, no extra code needed.

3. Capture and Scroll Printed Logs

If your verbose output comes from print() statements (instead of returned objects), use the %%capture magic to catch the output and wrap it in a scrollable container:

from IPython.display import display, HTML

%%capture captured_logs
# Run your verbose code here
grid_search = GridSearchCV(estimator=your_model, param_grid=your_params, verbose=3)
grid_search.fit(X_train, y_train)

# Display captured logs with scrolling
display(HTML(f'<div style="max-height: 400px; overflow-y: scroll;"><pre>{captured_logs.stdout}</pre></div>'))

The <pre> tag preserves the original formatting of the printed logs so they’re easy to read.

I personally use the global settings tweak day-to-day—it saves me from wrapping code every time. Hope this solves your cluttered notebook issue!

内容的提问来源于stack exchange,提问作者Juliano Oliveira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:24:34