python中notebook左侧in中_关于python:jupyter笔记本中的折叠单元格

我正在使用ipython Jupyter笔记本。 假设我定义了一个在屏幕上占用大量空间的函数。 有没有办法让牢房塌陷?

我希望函数保持执行和可调用状态,但是我想隐藏/折叠单元格以便更好地可视化笔记本。 我怎样才能做到这一点?

哇,已经是2017年了,没有简单的解决方案

2019年仍在计数

jupyter contrib nbextensions Python软件包包含一个可在笔记本中启用的代码折叠扩展名。请点击链接(Github)获得文档。

要使用命令行安装:

pip install jupyter_contrib_nbextensions

jupyter contrib nbextension install --user

为了简化管理工作,我还建议使用jupyter nbextensions configurator软件包。这在笔记本电脑界面中提供了一个额外的选项卡,从中可以轻松地(停用)所有已安装的扩展程序。

安装:

pip install jupyter_nbextensions_configurator

jupyter nbextensions_configurator enable --user

很酷的东西,尽管我希望" Codefolding" nbextension可以折叠整个单元,而不仅仅是代码块。

我无法按Github链接中所述获取扩展树

如果有人遇到conda的安装问题,请尝试:pip install jupyter_contrib_nbextensions然后jupyter contrib nbextensions install --sys-prefix --skip-running-check。我希望jupyter在默认情况下有此软件包。

最简单的安装路径是通过conda本身:conda install -c conda-forge jupyter_contrib_nbextensions。

错误:在安装后尝试用它运行jupyter时,没有这样的文件或目录。 github docs说将其添加到jupyter命令行:nbextension enable codefolding / main

对于使用新型JupyterLab的任何人来说,这只是一个简短的说明。根据提到的GitHub网站,这些扩展可以在JupyterLab中使用。我本人对此很纳闷,因此想出了让别人知道的方法。引用GitHub存储库:Due to major differences between the Jupyter Notebook and JupyterLab, the extensions in this repository will not work in JupyterLab。

添加到@MaxGhenis注释中:conda install -c defaults -c conda-forge jupyter_contrib_nbextensions避免通过conda-forge取代已安装的软件包(例如,ca证书有时会被较早的版本取代)

如果在单元格的顶部放置#comment,则可以折叠整个单元格。然后,Jupyter提供一个下拉箭头,该箭头将折叠整个单元格。

您可以创建一个单元格并将以下代码放入其中:

%%html

div.input {

display:none;

}

运行此单元格将隐藏所有输入单元格。要向后显示,可以使用菜单清除所有输出。

否则,您可以尝试以下笔记本扩展:

https://github.com/ipython-contrib/IPython-notebook-extensions/wiki/Home_3x

笔记本扩展确实很棒。还有很多其他事情。 github.com/ipython-contrib/jupyter_contrib_nbextensions

JupyterLab支持细胞折叠。单击左侧的蓝色单元格栏将折叠该单元格。

虽然不坚持出口

我遇到了类似的问题,@ Energya指出的" nbextensions"工作得非常好,很轻松。对于笔记本扩展及其配置程序,安装说明很简单(我在Windows上使用anaconda进行了尝试)。

就是说,我想补充一点,以下扩展应该引起关注。

隐藏输入|

此扩展允许在笔记本中隐藏单个码元。这可以通过单击工具栏按钮来实现:

可折叠标题|允许笔记本电脑具有可折叠部分,并以标题分隔

代码折叠|已经提到过,但是为了完整性我添加了它

在?/ .jupyter / custom /内创建具有以下内容的custom.js文件:

$("").appendTo("head");

$('.prompt.input_prompt').on('click', function(event) {

console.log("CLICKED", arguments)

var c = $(event.target.closest('.cell.code_cell'))

if(c.hasClass('collapse')) {

c.removeClass('collapse');

} else {

c.addClass('collapse');

}

});

保存后,重新启动服务器并刷新笔记本。您可以通过单击输入标签(In [])折叠任何单元格。

这对我不起作用,因为在执行自定义js时未加载要更改的div。但是,可以固定将所有内容包装在setTimeout(function(){...},3000);中。

在将第4行更改为var c = $(event.target).closest(.cell.code_cell)并遵循Steohans的建议将所有内容包装在setTimeout中之后,这对我有用。

hide_code扩展名允许您隐藏单个单元格和/或它们旁边的提示。安装为

pip3 install hide_code

访问https://github.com/kirbs-/hide_code/了解有关此扩展程序的更多信息。

首先,按照Energya的指示进行:

pip install jupyter_contrib_nbextensions

jupyter contrib nbextension install --user

pip install jupyter_nbextensions_configurator

jupyter nbextensions_configurator enable --user

第二个是关键:打开木星笔记本后,单击Nbextension选项卡。现在,从Nbextension提供的搜索工具(而不是网络浏览器)中搜索" colla",然后您会发现一个名为" Collapsible Headings"的内容

这就是你想要的!

潘岩建议的改进版本。它添加了显示代码单元的按钮:

%%html

οnclick="var myStyle = document.getElementById('hide').sheet;myStyle.insertRule('div.input{display:inherit !important;}', 0);">

Show inputs

或python:

# Run me to hide code cells

from IPython.core.display import display, HTML

display(HTML(r"""Show inputs"""))

代码隐藏所有输入单元格,而不是特定单元格。

正是我想要的输出,但是您可以通过在Jupyter菜单中切换它来折叠/隐藏所有输出:单元>所有输出>切换

除了启用扩展,您不需要做太多事情:

http://localhost:8888/nbextensions?nbextension=collapsible_headings

http://localhost:8888/nbextensions?nbextension=codefolding/main

最有可能在以下位置找到所有扩展:

http://localhost:8888/nbextensions

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值