anaconda/nb_conda_kernels

How to remove kernel from list?

Closed this issue · 3 comments

(base) scruel@scruel:~$ jupyter kernelspec remove root
[RemoveKernelSpec] WARNING | Config option `kernel_spec_manager_class` not recognized by `RemoveKernelSpec`.
Couldn't find kernel spec(s): root

(base) scruel@scruel:~$ jupyter kernelspec remove base
[RemoveKernelSpec] WARNING | Config option `kernel_spec_manager_class` not recognized by `RemoveKernelSpec`.
Couldn't find kernel spec(s): base

(base) scruel@scruel:~$ jupyter kernelspec remove conda-root-py
[RemoveKernelSpec] WARNING | Config option `kernel_spec_manager_class` not recognized by `RemoveKernelSpec`.
Couldn't find kernel spec(s): conda-root-py

(base) scruel@scruel:~$ python -m nb_conda_kernels remove base
[RemoveKernelSpec] WARNING | Config option `kernel_spec_manager_class` not recognized by `RemoveKernelSpec`.
[RemoveKernelSpec] [nb_conda_kernels] enabled, 4 kernels found
Couldn't find kernel spec(s): base

(base) scruel@scruel:~$ python -m nb_conda_kernels remove root
[RemoveKernelSpec] WARNING | Config option `kernel_spec_manager_class` not recognized by `RemoveKernelSpec`.
[RemoveKernelSpec] [nb_conda_kernels] enabled, 4 kernels found
Couldn't find kernel spec(s): root

(base) scruel@scruel:~$ python -m nb_conda_kernels remove conda_root_py
[RemoveKernelSpec] WARNING | Config option `kernel_spec_manager_class` not recognized by `RemoveKernelSpec`.
[RemoveKernelSpec] [nb_conda_kernels] enabled, 4 kernels found
Couldn't find kernel spec(s): conda_root_py

(base) scruel@scruel:~$ python -m nb_conda_kernels remove test
[RemoveKernelSpec] WARNING | Config option `kernel_spec_manager_class` not recognized by `RemoveKernelSpec`.
[RemoveKernelSpec] [nb_conda_kernels] enabled, 4 kernels found
Couldn't find kernel spec(s): test

(base) scruel@scruel:~$ jupyter kernelspec remove test
[RemoveKernelSpec] WARNING | Config option `kernel_spec_manager_class` not recognized by `RemoveKernelSpec`.
Couldn't find kernel spec(s): test

(base) scruel@scruel:~$ python -m nb_conda_kernels remove conda-env-test-py
[RemoveKernelSpec] WARNING | Config option `kernel_spec_manager_class` not recognized by `RemoveKernelSpec`.
[RemoveKernelSpec] [nb_conda_kernels] enabled, 3 kernels found
Kernel specs to remove:
  conda-env-test-py     /home/scruel/mambaforge/envs/test/share/jupyter/kernels/python3
Remove 1 kernel specs [y/N]: y
Traceback (most recent call last):
  File "/home/scruel/mambaforge/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/home/scruel/mambaforge/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/home/scruel/mambaforge/lib/python3.10/site-packages/nb_conda_kernels/__main__.py", line 7, in <module>
    KernelSpecApp.launch_instance()
  File "/home/scruel/mambaforge/lib/python3.10/site-packages/traitlets/config/application.py", line 982, in launch_instance
    app.start()
  File "/home/scruel/mambaforge/lib/python3.10/site-packages/jupyter_client/kernelspecapp.py", line 324, in start
    return self.subapp.start()
  File "/home/scruel/mambaforge/lib/python3.10/site-packages/jupyter_client/kernelspecapp.py", line 215, in start
    path = self.kernel_spec_manager.remove_kernel_spec(kernel_name)
  File "/home/scruel/mambaforge/lib/python3.10/site-packages/nb_conda_kernels/manager.py", line 386, in remove_kernel_spec
    spec_dir = specs[name]
KeyError: 'conda-env-test-py'

(base) scruel@scruel:~$ python -m nb_conda_kernels list
[ListKernelSpecs] WARNING | Config option `kernel_spec_manager_class` not recognized by `ListKernelSpecs`.
[ListKernelSpecs] [nb_conda_kernels] enabled, 4 kernels found
Available kernels:
  conda-env-d2l-py        /home/scruel/mambaforge/envs/d2l/share/jupyter/kernels/python3
  conda-env-pytorch-py    /home/scruel/mambaforge/envs/pytorch/share/jupyter/kernels/python3
  conda-env-test-py       /home/scruel/mambaforge/envs/test/share/jupyter/kernels/python3
  python3                 /home/scruel/mambaforge/share/jupyter/kernels/python3
  conda-root-py           /home/scruel/mambaforge/share/jupyter/kernels/python3
(base) scruel@scruel:~$ jupyter kernelspec list
[ListKernelSpecs] WARNING | Config option `kernel_spec_manager_class` not recognized by `ListKernelSpecs`.
Available kernels:
  python3    /home/scruel/mambaforge/share/jupyter/kernels/python3

I want to remove conda-root-py, python3 and conda-env-test-py (test env) from kernel list, tried many ways, however, it not works.
Also, how to add them back? (remove should not delete any files)

By the way, will it be possible to remove “Python 3 (ipykenel)” from the list? I don't want to let users use base env at all.
image

@scruel There is a env_filter config parameter to filter conda envs based on regular expression. There is also whitelist that you can define in the config parameter.

Thank you for the input, @mahendrapaipuri , that's correct.