在IPython笔记本旁边使用IPython控制台

时间:2013-10-20 16:11:13

标签: ipython ipython-notebook

在使用IPython笔记本电脑时,我越来越发现自己希望笔记本电脑附带一个控制台,用于交互式编程。我发现自己添加行来测试代码片段然后删除它们,这是很好的用法。在更糟糕的用法中,我正在改变同一行中的命令,一遍又一遍地评估行,完全改变行的目的,直到我做对了,然后我 Ctrl-Z 一直回到原始单元格内容。

如果我可以在笔记本底部安装一个交互式翻译,那肯定会提高我的工作效率。我知道笔记本有一个内核,但我无法附加一个新的ipython控制台。所以我的奇迹是:

  1. 是否有更有效的方式使用笔记本电脑?
  2. 假设没有,我如何将ipython控制台附加到笔记本内核?
  3. 谢谢!

2 个答案:

答案 0 :(得分:40)

只需在一个单元格中执行%qtconsole ,它就会启动连接到同一内核的qtconsole。 当然你的内核必须是本地的。

你当然可以使用长方法:

In [1]: %connect_info
{
  "stdin_port": 50845, 
  "ip": "127.0.0.1", 
  "control_port": 50846, 
  "hb_port": 50847, 
  "signature_scheme": "hmac-sha256", 
  "key": "c68e7f64-f764-4417-ba3c-613a5bf99095", 
  "shell_port": 50843, 
  "transport": "tcp", 
  "iopub_port": 50844
}

Paste the above JSON into a file, and connect with:
    $> ipython <app> --existing <file>
or, if you are local, you can connect with just:
    $> ipython <app> --existing kernel-45781.json 
or even just:
    $> ipython <app> --existing 
if this is the most recent IPython session you have started.

然后

 ipython qtconsole --existing kernel-45781.json

答案 1 :(得分:12)

当您在终端中启动ipython笔记本时,它将输出如下内容:

 2015-03-26 13:05:52.772 [NotebookApp] Kernel started: 4604c4c3-523b-4373-bfdd-222eb1260156

然后像这样启动ipython控制台:

ipython console --existing 4604c4c3

我发现这比其他解决方案更容易。