【问题标题】:Juypter notebook - connect to the same kernel session from a command line ipython?Jupyter notebook - 从命令行 ipython 连接到同一个内核会话?
【发布时间】:2017-08-22 09:03:54
【问题描述】:

假设我在浏览器中加载了一个 Jupyter 笔记本。是否有可能以某种方式运行命令行 ipython 会话,该会话连接到与笔记本使用的内核实例相同的内核实例(即它们可以看到相同的一组变量)?谢谢。

【问题讨论】:

    标签: ipython jupyter-notebook


    【解决方案1】:

    是的!启动/加载 IPython 笔记本后,打开终端并使用 --existing 参数连接命令行 ipython 会话:

    jupyter console --existing
    

    默认情况下,它将连接到最新启动的 IPython 内核。要选择要连接的不同内核,请在 Jupyter 笔记本的日志中查找以下行:

    [I 09:47:54.462 NotebookApp] Kernel started: 06c9ffae-ae9f-4c22-93c0-4eacf23672b1
    

    要连接到此内核,请执行以下操作:

    jupyter console --existing 06c9ffae-ae9f-4c22-93c0-4eacf23672b1
    

    【讨论】:

    • 有没有办法指定你自己的Python REPL,比如ptpython。我尝试了--kernel 选项,但这不起作用(至少我使用它的方式是指定ptpython 安装的路径)。
    • 系统通过一个无头 python 服务器工作,多个客户端可以连接到该服务器。所以你需要让 ptpython 连接到 ipython 内核,但它似乎不支持它:github.com/prompt-toolkit/ptpython/issues/37
    • 这样做有一些怪癖:虽然我喜欢使用这个解决方案,但我还没有找到一种方法: 1. 从控制台取消命令(使用 Ctrl-C),因为它会说:“错误:无法中断我们没有启动的内核”; 2. 在不中断内核的情况下退出控制台(Ctrl-D)...(是的,这似乎很矛盾)
    【解决方案2】:

    使用JupyterLab,可以通过右键单击任何笔记本并选择New Console for Notebook(如@machine_building 对this answer 的评论中所述)来打开链接的控制台。这将在笔记本旁边/下方显示一个连接的控制台,可以像在具有命令历史记录等的终端中一样与之交互。

    【讨论】:

      猜你喜欢
      • 2019-07-27
      • 1970-01-01
      • 2021-11-05
      • 1970-01-01
      • 2019-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多