ipython notebook "Terminals" 菜单选项是什么

what is the ipython notebook "Terminals" menu option

我 运行 ipython 笔记本在我的 OSX 机器上 and/or 我的 ubuntu 14.04 机器。我正在使用 ipython 3.0.0 和 ipython (jupyter) 笔记本。

当我启动 ipython 笔记本时,在新建下有一个终端选项,但我无法使用它。 我无法找到有关此功能、如何激活它或它的作用的任何文档。 ipython notebook --help 命令没有提到它,我也没有在 documentation 中找到任何东西。 我也没有发现要搜索 google 以获取任何信息的特殊关键字。

这个功能有什么作用?我该如何激活它?是否有任何可用的文档?

这是 Lib/site-packages/IPython/html/notebookapp.py 中负责此项目的代码(通过搜索 "Terminals" 区分大小写的源找到文件):

def init_terminals(self):
    try:
        from .terminal import initialize
        initialize(self.web_app)
        self.web_app.settings['terminals_available'] = True
    except ImportError as e:
        log = self.log.debug if sys.platform == 'win32' else self.log.warn
        log("Terminals not available (error was %s)", e)

如您所见,控制台日志中应该有一条消息指出出了什么问题(您可能需要使用 ipython notebook --log-level=<level> 增加日志的详细程度才能看到它)。就我而言,它说:

Terminals not available (error was No module named fcntl)

正在导入的 html.terminal 模块似乎提供了一个基于网络的 IPython 交互式控制台。

IPython/Jupyter 似乎支持基于浏览器的交互式终端会话。这是在我的机器上通过安装带有 pipcondaterminado 包来启用的。这修复了下拉菜单中的 "Terminals Unavailable" 消息,并让我在新选项卡中启动 (bash) 终端会话。

查看此提交: IPython on GitHub

在 Jupyter 5.3.0 中添加了对具有 terminado 依赖项的 Windows 终端的支持:

https://github.com/jupyter/notebook/pull/3087

其实是jupyter notebook 5.3.0,不是jupyter。这两个版本不是一回事。 - jupyter --version - jupyter notebook --version

我曾经有过这样的经历。