为什么我的 IPython 笔记本中的一些变量和注释是红色的?

Why are some variables and comments in my IPython notebook red?

这是我的 iPython 笔记本中的语法突出显示问题吗?我可以删除它吗?这发生在我的一些细胞中,但在其他细胞中没有。

我正在查看 this iPython notebook

这是因为缩进搞砸了。 为了保持一致性,如果 codemirror 解析器没有缩进 4 spaces(或者如果它使用制表符缩进,取决于 codemirror 版本),则它会生成一条红线。解析器有一些边缘情况确实只用红色突出显示了这些行中的几行,我不会详细介绍,但如果你缩进 4 spaces 它会起作用。

您可以:

  • select 代码块并按 tab
  • 使用 alt-click'n'drag 垂直放置多个光标在你的代码前面,然后按 space 足够的时间来做出正确的缩进 4 space.

将缩进设置为 2 是可行的,但比较复杂,不推荐使用。 4 space 是 python 标准。

这是来自Jupyter Notebook documentation的官方解决方案:

  1. 打开 Jupyter Notebook
  2. Select一个代码单元格
  3. 打开浏览器的 JavaScript 控制台和 运行 以下代码段:

    var cell = Jupyter.notebook.get_selected_cell();
    var config = cell.config;
    var patch = {
          CodeCell:{
            cm_config:{indentUnit:2}
          }
        }
    config.update(patch)
    
  4. 重新加载笔记本页面

此修复是永久性的。

要撤消更改,请重复此过程 运行此代码段:

var cell = Jupyter.notebook.get_selected_cell();
var config = cell.config;
var patch = {
      CodeCell:{
        cm_config:{indentUnit: null} # only change here.
      }
    }
config.update(patch)