跳转到主要内容

一个用于就地重启内核的内核代理。

项目描述

就地重启器

一个Jupyter内核代理,对于就地重启可能很有用。

例如,在hpc系统中,您可能不想回到调度器。就地重启可能很有用。

该软件安装了一个代理内核,将所有消息转发到底层内核,但拦截%restart魔法来终止并重启底层内核。

安装

$ pip install inplace_restarter

建议在您希望该软件工作的所有环境中安装此软件;如果不是,则原始的内核规格需要引用您希望使用的Python环境的完整路径。

使用方法

您可以使用以下子命令

  • list 列出所有内核以及就地重启器是否已安装。
  • install/remove 后跟内核规格名称,从这些内核中安装/移除就地重启器。
  • wiz[ard],当prompt_toolkit已安装时;这将打开一个对话框,让您选择要安装/移除就地重启器的内核。
$ python -m inplace_restarter list
In place restarting installed on:
  ✓ 'atk'

Use:python -m inplace_restarter remove [name,[name...]] to remove

In place restarting installable on:
  - 'python3'
  - 'mpl'
  - 'sns'

Use:python -m inplace_restarter install [name,[name...]] to install

Unknown kernel types, does not know how to install:
  ✘ 'bash'
  ✘ 'ir'
  ✘ 'julia-0.6'

注意事项

自动安装假定所有将使用该软件的系统上的内核规格路径都是相同的。这是为了避免“污染”内核规格列表;否则,您将得到两倍的内核规格数。一个是启动代理,另一个是启动内部内核。

与remote_ikernel一起使用

这应该可以安装到现有的remote_ikernel规范,而无需进一步修改;请注意,在%restart时,这将关闭所有ssh连接并重新建立它们。

请注意,在现有 inplace_restarter 安装上安装 remote_ikernel 可能是可能的,在这种情况下,ssh 连接将不会被重新建立,只需重新启动远程进程。请注意,由于 remote_ikernel 的内部特定性和涉及路径是否与本地或远程机器工作目录相关的问题,这可能更难部署,因为 remote_ikernel 可能无法正确猜测。

如何修改 kernelspecs?

就地重启会将 kernelspec 的当前参数保存到新的字段中,并用启动自身的命令替换它们。

当由 jupyter 启动时,它将尝试猜测使用了哪个 kernel.json,提取启动内核的原始命令,并将其作为原始客户端和内核之间的代理介绍自己。当它收到就地重启的命令时,它将杀死底层内核并启动一个新的,保留客户端的原始连接。

DEBUG

在会话期间切换调试。

%ipr(就地重启器)魔法允许你在重启器的 Python 进程中执行代码。

%ipr debug DEBUG
%ipr debug INFO
%ipr debug WARNING

将调试级别设置为重启器进程中的相应级别。第一个 %ipr debug 命令将添加一个日志处理器,将调试消息发送到笔记本前端。

在启动时设置调试级别。

在 kernelspec 中添加 "--RestarterApp.log_level=DEBUG" 以获得调试消息。

{
  "argv": [
    ".../bin/python",
    "-m",
    "inplace_restarter",
    ...
    "--RestarterApp.log_level=DEBUG"
  ],
  "display_name": "Python 3",
  "language": "python",
  "restarter_original_argv": [
    ".../bin/python",
    "-m",
    "ipykernel_launcher",
    "-f",
    "{connection_file}"
  ]
}

请注意,即使在启动时设置了调试级别,消息也不会在笔记本中显示,直到你发出 %ipr debug xxxxx 命令。

高级用法。

%ipr exec <some python code> 将在就地重启器的上下文中执行命令。

例如

%ipr exec self.log.setLevel(logging.DEBUG)

(当使用 %ipr exec 时,使用 self.print 打印值)

项目详情


下载文件

下载您平台上的文件。如果您不确定要选择哪个,请了解有关 安装包 的更多信息。

源分布

inplace_restarter-0.1.0.tar.gz (9.1 kB 查看哈希值)

上传时间

构建分布

inplace_restarter-0.1.0-py2.py3-none-any.whl (9.7 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下赞助

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面