更改Jupyter Notebook中的默认内核

11

我正在使用 Ubuntu 20.04 上的 ipython 6.4.0,并使用 jupyter kernelspec list 命令,发现有两个内核:

  1. practice_applied_ai
  2. python3

当我打开任何 .ipynb 文件时,它会直接在“python3”中打开,但我想要在“practice_applied_ai”中打开,因为我创建了虚拟环境 practice_applied_ai 并且只有在这个内核中我才能导入 Tensorflow 2.2.0 来进行我的工作。
我的问题是,是否有方法可以在不删除任何内核的情况下更改默认内核?


2
我有同样的问题。我发现并尝试了以下方法:在jupyter_notebook_config.py中设置以下内容,但是当打开新的笔记本时似乎被忽略了:cMultiKernelManager.default_kernel_name = 'own_kernel' - mcdesign
4个回答

15
jupyter notebook --generate-config 

打开生成的配置文件,更改以下行以使用所需的内核

#c.MultiKernelManager.default_kernel_name = 'python3' 

喜欢

c.MultiKernelManager.default_kernel_name = 'py38' 

在配置文件中,MultiKernelManager出现在MappingKernelManager之前,因此这是更好的答案! - marcio
很遗憾,这对我来说没有起作用。它一直恢复到原始状态。 - Zarif Rahman

8

查看GitHub上的这个答案。

默认内核名称很少使用。只有在收到启动内核的请求并且请求负载中未指定内核名称时,它才真正发挥作用。由于Notebook和Lab界面实际上需要用户选择内核(用于新笔记本),因此它不会真正发挥作用。

配置文件中添加 c.MappingKernelManager.default_kernel_name='newDefault'

要确认默认设置已生效,请访问正在运行的笔记本服务器的 kernelspecs REST API(例如,http://localhost:8888/api/kernelspecs),您应该在返回的负载中看到默认内核名称作为第一个条目。


感谢您提供关于访问http://localhost:8888/api/kernelspecs的提示。这是一个很好的健全性检查。 - undefined

3

可以通过 .ipynb 文件本身来实现这一点。在元数据中设置以下变量,特别是标识内核的 name 变量。

  "metadata": {
   "kernelspec": {
   "display_name": "Python 3 (PyTorch 1.6 Python 3.6 CPU Optimized)",
   "language": "python",
   "name": "python3__SAGEMAKER_INTERNAL__arn:aws:sagemaker:us-east-1:081325390199:image/pytorch-1.6-cpu-py36-ubuntu16.04-v1"
   },
   "language_info": {
    "codemirror_mode": {


-5

不确定如何更改默认内核,但是您可以在打开笔记本后更改正在使用的内核,方法如this site所述。
打开笔记本。然后导航到Kernel -> Change Kernel并选择您想要使用的内核。

enter image description here


5
这个问题特别是关于设置“默认”内核的。 - Smedegaard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接