使用当前正在运行的进程连接到正在运行的Jupyter内核

2024-03-28 10:08:37 发布

您现在位置:Python中文网/ 问答频道 /正文

上周末,我在Jupyter笔记本上运行了一些长进程,但浏览器窗口在某个时候关闭了。根据this的回答,这个过程不应该被取消,但是我得到的任何输出都会丢失。这没关系,因为我只需要访问进程中的结果对象。我的目标是连接到控制台中正在运行的内核,并从那里开始工作。根据Jupyter's documentation,我应该可以用

jupyter console --existing

但在运行这个和挂了一分钟后,我得到以下信息

Traceback (most recent call last):
  File "/anaconda/envs/py35/lib/python3.5/site-packages/jupyter_console/ptshell.py", line 323, in init_kernel_info
    reply = self.client.get_shell_msg(timeout=1)
  File "/anaconda/envs/py35/lib/python3.5/site-packages/jupyter_client/client.py", line 77, in get_shell_msg
    return self.shell_channel.get_msg(*args, **kwargs)
  File "/anaconda/envs/py35/lib/python3.5/site-packages/jupyter_client/blocking/channels.py", line 57, in get_msg
    raise Empty
queue.Empty

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/anaconda/envs/py35/bin/jupyter-console", line 11, in <module>
    sys.exit(main())
  File "/anaconda/envs/py35/lib/python3.5/site-packages/jupyter_core/application.py", line 267, in launch_instance
    return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
  File "/anaconda/envs/py35/lib/python3.5/site-packages/traitlets/config/application.py", line 657, in launch_instance
    app.initialize(argv)
  File "<decorator-gen-116>", line 2, in initialize
  File "/anaconda/envs/py35/lib/python3.5/site-packages/traitlets/config/application.py", line 87, in catch_config_error
    return method(app, *args, **kwargs)
  File "/anaconda/envs/py35/lib/python3.5/site-packages/jupyter_console/app.py", line 141, in initialize
    self.init_shell()
  File "/anaconda/envs/py35/lib/python3.5/site-packages/jupyter_console/app.py", line 114, in init_shell
    client=self.kernel_client,
  File "/anaconda/envs/py35/lib/python3.5/site-packages/traitlets/config/configurable.py", line 412, in instance
    inst = cls(*args, **kwargs)
  File "/anaconda/envs/py35/lib/python3.5/site-packages/jupyter_console/ptshell.py", line 272, in __init__
    self.init_kernel_info()
  File "/anaconda/envs/py35/lib/python3.5/site-packages/jupyter_console/ptshell.py", line 326, in init_kernel_info
    raise RuntimeError("Kernel didn't respond to kernel_info_request")
RuntimeError: Kernel didn't respond to kernel_info_request

发生这种情况是因为我的长时间运行的进程仍在内核上运行,还是有其他问题?当所述过程完成时,我是否可以使用上述命令按预期进行连接?你知道吗


Tags: inpyclientinitlibpackageslinesite