Jupyter Notebook 注释的时候保持缩进

Ctrl + / 给 Jupyter Notebook 里的代码块添加注释时,默认注释符号可能会出现在行首,缩进看起来比较乱。这个问题可以参考 Jupyter Notebook 的相关讨论:

https://github.com/jupyter/notebook/issues/954

一个可行的办法是安装并启用 jupyter_contrib_nbextensions 里的 comment-uncomment 扩展。

conda update notebook
conda install jupyter notebook
conda install -c conda-forge jupyter_contrib_nbextensions
conda install -c conda-forge jupyter_nbextensions_configurator
jupyter contrib nbextension install --user
jupyter nbextension enable comment-uncomment/main

启用之后,再使用 Ctrl + / 注释代码时,注释符号会更好地跟随原有缩进。例如:

# This program prints Hello, world!
print('Hello, world!')

在 macOS 上可能会遇到如下错误:

[jupyter_nbextensions_configurator] error loading comment-uncomment/main

如果用 conda 安装后扩展加载失败,可以改用 pip 安装这两个包:

conda update notebook
conda install jupyter notebook

pip install jupyter_contrib_nbextensions jupyter_nbextensions_configurator

jupyter contrib nbextension install --user
jupyter nbextension enable comment-uncomment/main

安装后可以重启 Jupyter Notebook,并在浏览器里重新打开 Notebook 页面。如果仍然没有生效,可以检查扩展是否已经启用:

jupyter nbextension list

如果使用的是新版 JupyterLab,这套 nbextension 方案未必适用;应优先确认自己运行的是 classic Notebook、Notebook 7,还是 JupyterLab,并按当前环境支持的扩展机制处理。

Leave a Reply