如何在 Jupyter Notebook 中获取活动内核名称

mat*_*sko 3 python ipython jupyter-notebook

我想制作一个打印活动内核名称的笔记本。我使用以下命令将多个 venv 注册为内核

python -m ipykernel install --user --name <kernel_name>
Run Code Online (Sandbox Code Playgroud)

在笔记本中,我想打印一些有关活动内核的元数据。

如何获得活动内核的名称?


编辑:

这是我的堆栈中的特定版本

ipykernel==4.5.2
ipython==5.3.0
jupyter==1.0.0
Run Code Online (Sandbox Code Playgroud)

尽管如此,这个问题应该得到一般性的回答。

jak*_*vdp 5

一种方法是在 notebook 中使用 Javascript,并执行一些代码以使字符串在 Python 中可用:

%%javascript
var kernel = Jupyter.notebook.kernel
kernel.execute('kernel_name = ' + '"' + kernel.name + '"')
Run Code Online (Sandbox Code Playgroud)

然后你在 Python 中有内核名称:

print(kernel_name)
# my-kernel
Run Code Online (Sandbox Code Playgroud)

作为额外的好处,您可以使用该jupyter_client模块在获得内核名称后查找有关内核的更多信息:

from jupyter_client import kernelspec
spec = kernelspec.get_kernel_spec(kernel_name)
print(spec.resource_dir)
# /path/to/my/kernel
Run Code Online (Sandbox Code Playgroud)

  • 使用 JupyterLab 时,我收到“Javascript 错误:Jupyter 未定义”。 (3认同)