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

ido*_*oda 28 ipython ipython-notebook

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

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

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

谢谢!

Mat*_*att 41

只需%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.
Run Code Online (Sandbox Code Playgroud)

然后

 ipython qtconsole --existing kernel-45781.json
Run Code Online (Sandbox Code Playgroud)


Óla*_*vur 12

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

 2015-03-26 13:05:52.772 [NotebookApp] Kernel started: 4604c4c3-523b-4373-bfdd-222eb1260156
Run Code Online (Sandbox Code Playgroud)

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

ipython console --existing 4604c4c3
Run Code Online (Sandbox Code Playgroud)

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

  • `jupyter console - 如果你启动了一个Jupyter服务器,则存在4604c4c3`. (3认同)