一个用于就地重启内核的内核代理。
项目描述
就地重启器
一个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) 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5ab46779c97589b42db0fa914d2b6baab2ef6c84a2257d566d5fddf2ccce34b6 |
|
MD5 | e85bc218837e53125023e28eada3b18c |
|
BLAKE2b-256 | b2fb1df77712d320f99f5bb3e10747aadc86ab29c6a83b83ef4d908f11cb4d6d |
(inplace_restarter-0.1.0-py2.py3-none-any.whl) 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | efccd68c76ba4f2b163983f601cc2e9273d97fb35ef9a52afd99b62f29904aab |
|
MD5 | 5ecf9ed06fa702c8cfe31c17d49df7c3 |
|
BLAKE2b-256 | 59993fbee1aa0ad30b80bb7240519cf1719507606819ea1d39a0219286c7b384 |