有時我的Ipython筆記本會崩潰,因爲我在大循環或遞歸函數中留下了print
語句。內核顯示busy
和stop
按鈕通常沒有響應。最終Chrome會問我是否想要殺死該頁面或等待。如何限制Ipython筆記本給定單元格中的輸出行數?
有沒有辦法限制給定單元格中輸出線的數量?或者以任何其他方式來避免這個問題?
有時我的Ipython筆記本會崩潰,因爲我在大循環或遞歸函數中留下了print
語句。內核顯示busy
和stop
按鈕通常沒有響應。最終Chrome會問我是否想要殺死該頁面或等待。如何限制Ipython筆記本給定單元格中的輸出行數?
有沒有辦法限制給定單元格中輸出線的數量?或者以任何其他方式來避免這個問題?
這最近也引起了一些問題。我寫了一個類來爲打印功能添加一些保護。我只是把它扔在github上:staggerprint on github。
我會將Usage部分放在筆記本的頂部,以防止這些類型的崩潰。如果我發現如何從筆記本電腦級別改變這種行爲,我會添加另一個答案,但現在必須做!
爲別人穿過絆:
如果你想看到一些輸出,而不是完全抑制輸出,有一個名爲limit-output的extension。
您必須在第一個鏈接中按照擴展的安裝說明進行操作。然後,我跑到下面的代碼每個單元更新字符輸出的最大數量:
from notebook.services.config import ConfigManager
cm = ConfigManager().update('notebook', {'limit_output': 10})
注:你需要運行的代碼塊,然後完全重新啓動筆記本服務器(不只是內核)以使更改生效。
結果上運行的Python的2.7.12內核
for i in range(0,100):
print i
0
1
2
3
4
limit_output extension: Maximum message size exceeded
是有辦法只是我對評估細胞做jupyter v4.0.6?或者這種類型的東西真的需要重新啓動筆記本電腦,並且沒有辦法將其設置爲「每個單元」? –
從文檔中,還可以使用單元格的cell.metadata.limit_output爲單個單元格設置限制。 – user2699