Ipython Jupyter-在控制台中结束多行魔术命令

Ipython Jupyter-在控制台中结束多行魔术命令,ipython,jupyter-notebook,Ipython,Jupyter Notebook,在Jupyter笔记本中,“cell magic”命令(前缀为2个百分号)在单元格末尾结束,并自动调用: 但是,如果我在Jupyter控制台中尝试相同的操作,那么在任何数量的空行之后,命令都不会结束: 不过,只有当我作为jupyter控制台调用IPython时才会发生这种情况。如果我作为IPython直接调用IPython,则cell magic命令在一个空行后完成: 对于每个示例,Python和IPython的版本都是相同的:一台机器上的Python 3.5.2和IPython 6.1.

在Jupyter笔记本中,“cell magic”命令(前缀为2个百分号)在单元格末尾结束,并自动调用:

但是,如果我在Jupyter控制台中尝试相同的操作,那么在任何数量的空行之后,命令都不会结束:

不过,只有当我作为jupyter控制台调用IPython时才会发生这种情况。如果我作为
IPython
直接调用IPython,则cell magic命令在一个空行后完成:

对于每个示例,Python和IPython的版本都是相同的:一台机器上的Python 3.5.2和IPython 6.1.0(与pip一起安装),另一台机器上的Python 3.4.5和IPython 5.1.0(与Conda一起安装)


这是虫子吗?或者IPython的Jupyter默认配置是否与IPython自己的默认配置不同?

是的,这是一个错误,假设单元格魔法在两行新代码后结束。 Jupyter控制台的维护程度很低——我们不知道有多少人在使用它,而且它有很多问题

从技术上讲,我认为jupyter控制台没有使用(或尊重)来自协议的“is_complete”消息,该消息应该告诉它是否应该执行代码片段,或者是否应该插入换行符

您可以尝试打开一个bug报告,但是除非有人做PR,否则修复可能不会很快实施