Jupyter notebook Jupyterlab:如何删除/隐藏默认值;Python 3“;内核

Jupyter notebook Jupyterlab:如何删除/隐藏默认值;Python 3“;内核,jupyter-notebook,jupyter-lab,Jupyter Notebook,Jupyter Lab,我正在为我们公司运行自定义配置的Jupyterlab安装。它连接到Livy和Spark,提供PySpark和Spark内核,运行良好 但是,我仍然要删除默认的python3内核: 当我把一个控制台放到pod中并执行一个jupyter kernelspec列表时,我得到了预期的结果: Available kernels: pysparkkernel /usr/local/share/jupyter/kernels/pysparkkernel python3 /us

我正在为我们公司运行自定义配置的Jupyterlab安装。它连接到Livy和Spark,提供PySpark和Spark内核,运行良好

但是,我仍然要删除默认的
python3
内核:

当我把一个控制台放到pod中并执行一个jupyter kernelspec列表时,我得到了预期的结果:

Available kernels:
  pysparkkernel    /usr/local/share/jupyter/kernels/pysparkkernel
  python3          /usr/local/share/jupyter/kernels/python3
  sparkkernel      /usr/local/share/jupyter/kernels/sparkkernel
当我
jupyter内核spec删除python3
并重新加载Jupyterlab时,Python 3内核仍然在那里,并重新出现在列表中:

Available kernels:
  python3          /usr/local/lib/python3.8/dist-packages/ipykernel/resources
  pysparkkernel    /usr/local/share/jupyter/kernels/pysparkkernel
  sparkkernel      /usr/local/share/jupyter/kernels/sparkkernel
即使我删除这个
/usr/local/lib/python3.8/dist-packages/ipykernel/resources
目录,内核也不会消失

是否有可能禁用这个默认内核,或者我必须接受它

变通办法 通过将
pysparkkernel
中的所有内容复制到
python3
目录中并删除
pysparkkernel
,我得到了我想要的东西,有效地使Jupyterlab认为PySpark内核是默认内核


虽然这样做有效,但我仍然对这是否是唯一的方法感兴趣。

除了删除内核规范之外,还需要关闭
确保\u native\u kernel
选项,该选项通过添加以下内容确保始终包括默认内核:

c.KernelSpecManager.ensure_native_kernel = False
到您的配置文件。您也可以通过命令行进行设置:

jupyter lab --KernelSpecManager.ensure_native_kernel=False
如中所述


注意:如果您将JupyterLab 3.x与jupyter_服务器一起使用,配置现在存储在
jupyter\u server\u config.py
中,而不是
jupyter\u notebook\u config.py
中,如中所述。

我在第一次启动Jupyterlab时动态生成配置,以便能够使用放入Kubernetes部署文件中的环境变量进行配置。我将尝试此选项。不幸的是,它不起作用。我将该行添加到配置中,但在删除默认内核后,它仍然存在。我正在将Jupyterlab与Jupyterhub一起使用。您确定您正在编辑正确的配置文件吗?JupyterHub尚未切换到jupyter_服务器(尽管它可能会随JupyterLab 3.0.6而更改)