相关疑难解决方法(0)

在(i)python脚本中从jupyter内核获取输出

我想在一个ipython会话中打开几个内核,在这些内核上运行代码,然后收集结果.但我无法弄清楚如何收集结果,甚至看不到stdout/stderr.我怎么能做这些事情?

到目前为止我得到了什么

我已经管理了前两个步骤(打开内核并在其上运行代码),代码如下:

from jupyter_client import MultiKernelManager
kernelmanager = MultiKernelManager()
remote_id = kernelmanager.start_kernel('python3')
remote_kernel = kernelmanager.get_kernel(remote_id)
remote = remote_kernel.client()
sent_msg_id = remote.execute('2+2')
Run Code Online (Sandbox Code Playgroud)

[我欢迎任何有关如何改进或关闭这些内核和客户端的建议.]

这里,python3可以是我设置的任何内核的名称(可以在命令行中列出jupyter-kernelspec list).我似乎能够运行任何合理的代码来代替'2+2'.例如,我可以写入文件,并且该文件确实已创建.

现在,问题是如何获得结果.我可以得到一些看似相关的消息

reply = remote.get_shell_msg(sent_msg_id)
Run Code Online (Sandbox Code Playgroud)

那个回复是这样的字典:

{'buffers': [],
 'content': {'execution_count': 2,
  'payload': [],
  'status': 'ok',
  'user_expressions': {}},
 'header': {'date': datetime.datetime(2015, 10, 19, 14, 34, 34, 378577),
  'msg_id': '98e216b4-3251-4085-8eb1-bfceedbae3b0',
  'msg_type': 'execute_reply',
  'session': 'ca4d615d-82b7-487f-88ff-7076c2bdd109',
  'username': 'me',
  'version': '5.0'},
 'metadata': {'dependencies_met': True,
  'engine': '868de9dd-054b-4630-99b7-0face61915a6',
  'started': '2015-10-19T14:34:34.265718',
  'status': 'ok'},
 'msg_id': '98e216b4-3251-4085-8eb1-bfceedbae3b0',
 'msg_type': 'execute_reply',
 'parent_header': …
Run Code Online (Sandbox Code Playgroud)

python ipython jupyter

9
推荐指数
1
解决办法
1428
查看次数

将IPython控制台连接到Internet上的内核

我一直在努力让这个工作.我已经跟踪了我能找到的在线资料但是没有成功,例如:Ipython Documentation

我正在尝试将本地计算机(笔记本电脑)上的IPython QTConsole连接到Internet上Linode云服务器上运行的IPython内核.

我现在不担心安全性,只需要简单的方法来做到这一点.

我知道我可以使用somethign在远程(Linode服务器)上启动内核,例如:

Ipython kernel --ip=0.0.0.0
Run Code Online (Sandbox Code Playgroud)

一旦我运行这个,我可以记下kernel-xxxx.json文件,我也知道要在远程机器上找到它.使用0.0.0.0表示法我理解内核将侦听外部连接.

我只是不确定如何从我的本地机器(笔记本电脑)连接到它

让我们说

Remote machine  IP adres = aa.bb.cc.dd
Remote machine  Login name = root
Remote machine  hostname = dummyname
Run Code Online (Sandbox Code Playgroud)

本地机(笔记本电脑)

 IPAdress = qq.ww.ee.rr
Run Code Online (Sandbox Code Playgroud)

我可以正常看到服务器和ssh,例如

ssh root@aa.bb.cc.dd
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我用ipython命令行从我的笔记本电脑连接到这个远程内核吗?

python ipython

5
推荐指数
1
解决办法
4276
查看次数

Windows 下的 Jupyter 中 kernel-1234.json 在哪里?

IPython 具有用于定位内核连接文件的有用功能。

In [1]: from IPython.lib.kernel import find_connection_file
In [2]: find_connection_file()
Out[2]: 'C:\\Users\\me\\.ipython\\profile_default\\security\\kernel-1234.json'
Run Code Online (Sandbox Code Playgroud)

JupyterWindows 上的等效项是什么?

python ipython jupyter

2
推荐指数
1
解决办法
2057
查看次数

标签 统计

ipython ×3

python ×3

jupyter ×2