diff --git a/src/sage/repl/ipython_kernel/install.py b/src/sage/repl/ipython_kernel/install.py index 9fd8dd477e4..1af211be936 100644 --- a/src/sage/repl/ipython_kernel/install.py +++ b/src/sage/repl/ipython_kernel/install.py @@ -257,15 +257,23 @@ def check(cls): try: spec = get_kernel_spec(ident) except NoSuchKernel: - warnings.warn(f'no kernel named {ident} is accessible; ' + warnings.warn(f'No kernel named {ident} is accessible; ' 'check your Jupyter configuration ' - '(see https://docs.jupyter.org/en/latest/use/jupyter-directories.html)') + '(see https://docs.jupyter.org/en/latest/use/jupyter-directories.html).') else: + import sys + import shutil from pathlib import Path - if Path(spec.argv[0]).resolve() != Path(os.path.join(SAGE_VENV, 'bin', 'sage')).resolve(): - warnings.warn(f'the kernel named {ident} does not seem to correspond to this ' + kernel_executable = shutil.which(spec.argv[0]) + if not kernel_executable: + warnings.warn(f'The kernel named {ident} does not seem to be runnable; ' + 'check your Jupyter configuration ' + '(see https://docs.jupyter.org/en/latest/use/jupyter-directories.html).') + return + if Path(kernel_executable).resolve() != Path(sys.executable).resolve(): + warnings.warn(f'The kernel named {ident} does not seem to correspond to this ' 'installation of SageMath; check your Jupyter configuration ' - '(see https://docs.jupyter.org/en/latest/use/jupyter-directories.html)') + '(see https://docs.jupyter.org/en/latest/use/jupyter-directories.html).') def have_prerequisites(debug=True) -> bool: