python - 如何在 jupyterlab 中更改内核的 Logo 图像

标签 python jupyter jupyter-lab jupyterhub

我启动了一个带有 jupyterlab 接口(interface)的 jupyterhub 服务器,并为不同的语言创建了一些内核。
是否可以更改 jupyterlab 启动器中内核的 Logo 图像,例如 the picture 中的“M” Logo .

内核信息如下:

$ jupyter kernelspec list
Available kernels:
  python3              /usr/local/anaconda3/envs/Server/share/jupyter/kernels/python3
  matlab               /usr/local/share/jupyter/kernels/matlab
  quantum              /usr/local/share/jupyter/kernels/quantum
  wolframlanguage12    /usr/local/share/jupyter/kernels/wolframlanguage12

我发现在/usr/local/anaconda3/envs/Server/share/jupyter/kernels/python3中有一个logo图片logo-64x64.png .

但是如果我下载其他png文件,将其大小调整为64x64,将其重命名为logo-64x64.png,并将其放在/usr/local/share/jupyter/kernels/下matlab/,启动器上显示的标志将变成python的标志,而不是我下载的图像。

/usr/local/share/jupyter/kernels/matlab 中的kernel.json 文件:

{
    "argv": [
        "/usr/local/anaconda3/envs/Py35/bin/python", "-m", "matlab_kernel", "-f", "{connection_file}"],
    "display_name": "Matlab",
    "language": "matlab",
    "mimetype": "text/x-octave",
    "name": "matlab"
}

我是不是理解错了什么,或者我应该把 Logo 图片放在其他位置。

最佳答案

这个问题属于更改内核名称的主题。有两种方法可以修改 Jupyter 中内核的显示。一种方法是手动更改配置文件,另一种方法是正确注册更改。

手动更改内核的名称不是一个好主意。如果您以后使用 pip 升级 Jupyter Lab 包,那么更新后的 Jupyter Lab 将找不到您重命名的那个 R 内核。但是如果你确实想手动重命名 R 内核,那么通常可以在以下位置找到配置文件。配置文件名为 kernel.json,可以使用记事本或类似的文本编辑器打开和编辑此文件。在同一文件夹中还有一个单独的 Logo 文件 - logo.png。这是可能更改标准和非标准 Logo 的地方(非 Anaconda 用户)

注意:使用 Anaconda 会在所做的一切中加入未知因素,这就是为什么大多数高级用户不使用 Anaconda 的原因。大多数高级用户更喜欢准确控制发生的事情、时间和原因。如果我猜的话,我猜 Anaconda 找不到您手动修改的任何文件。

C:\Users\prior\AppData\Roaming\jupyter\kernels

只需更改 kernel.json 中显示名称中的值。我将它从 R 更改为 R 3.6。

{
      "argv": ["C:/PROGRA~1/R/R-36~1.0/bin/x64/R", "--slave", "-e", 
      "IRkernel::main()", "--args", "{connection_file}"],
      "display_name": "R3.6",
      "language": "R"
    }

有一种重命名内核的正确方法。您可以为要在 Juypter Lab 或 Notebook 中使用的一个或多个 R 版本安装内核。然后只需向 installspec() fct 提供一个名称和显示名称参数。

安装 R 版本 3.6 和 3.5 内核后,然后在 R 控制台中执行以下操作。

# Generic - To name a kernel
IRkernel::installspec()  # to register the name of a the kernel 

# To name the R 3.6 kernel 
IRkernel::installspec(name = 'ir33', displayname = 'R 3.6') # Need only one time !! 

# To name the R 3.5 kernel 
IRkernel::installspec(name = 'ir35', displayname = 'R 3.5')  # name the new 3.5 kernel

我无法对此进行测试,因为我不使用 Anaconda,但即使对于那些选择使用 Anaconda 的用户,这也可能有效。但是似乎没有任何选项可以使用此功能更改显示 Logo 。

我使用上述相同的过程手动重命名了 Jupyter Lab 配置文件中的 python 内核,但这些 python 配置文件位于 PC 上其他地方的 python 文件夹中。

关于python - 如何在 jupyterlab 中更改内核的 Logo 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62340294/

相关文章:

python - scipy ndimage 没有属性过滤器?

azure - Jupyter 笔记本内核上的 CNTK 无法工作

ruby - iRuby 笔记本无法在 ubuntu 上加载 rbczmq

在 JupyterLab 中禁用 JavaScript 输出

python - 有没有办法检测笔记本是否显示在 voila、jupyter 或 jupyterlab 中?

python - 了解python中的内存使用情况

python - 为什么 python reduce() 对 `None` 元素的行为不同?

python - 在 jupyter 笔记本单元格上加载 Markdown 文件

python - python中矩阵的逐元素运算

python - 如何在不重新启动笔记本的情况下清除jupyter内存