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

时间:2016-02-11 04:36:49

标签: python ipython jupyter

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

ipython red text

我正在查看this iPython notebook

2 个答案:

答案 0 :(得分:26)

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

你可以:

  • 选择代码块并按tab
  • 垂直使用alt - click'n'drag将多个游标放在代码前面,并按足够的空间来制作正确的缩进4空格。

可以将缩进设置为2,但很复杂,不推荐使用。 4空间是蟒蛇规范。

答案 1 :(得分:0)

这是Jupyter Notebook documentation

的官方解决方案
  1. 打开Jupyter笔记本
  2. 选择代码单元
  3. 打开浏览器的JavaScript控制台并运行以下代码段:

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

  5. 此修复程序是永久性的。

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

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