首页 > 解决方案 > conda-forge 安装后 Sagemath Jupyter 内核安装错误

问题描述

所以我通过 anaconda 安装了 SageMath 和conda install sage python jupyterlab.

然后我去安装sage jupyter内核,就像在这个线程中一样jupyter kernelspec install --user ~/miniconda3/envs/sage/share/jupyter/kernels/sagemath

但是此命令失败并出现以下错误

Traceback (most recent call last):
  File "/Users/llamagod/miniconda3/envs/sage/bin/jupyter-kernelspec", line 10, in <module>
    sys.exit(KernelSpecApp.launch_instance())
  File "/Users/llamagod/miniconda3/envs/sage/lib/python3.9/site-packages/traitlets/config/application.py", line 845, in launch_instance
    app.start()
  File "/Users/llamagod/miniconda3/envs/sage/lib/python3.9/site-packages/jupyter_client/kernelspecapp.py", line 266, in start
    return self.subapp.start()
  File "/Users/llamagod/miniconda3/envs/sage/lib/python3.9/site-packages/jupyter_client/kernelspecapp.py", line 132, in start
    self.kernel_spec_manager.install_kernel_spec(self.sourcedir,
  File "/Users/llamagod/miniconda3/envs/sage/lib/python3.9/site-packages/jupyter_client/kernelspec.py", line 340, in install_kernel_spec
    shutil.copytree(source_dir, destination)
  File "/Users/llamagod/miniconda3/envs/sage/lib/python3.9/shutil.py", line 557, in copytree
    return _copytree(entries=entries, src=src, dst=dst, symlinks=symlinks,
  File "/Users/llamagod/miniconda3/envs/sage/lib/python3.9/shutil.py", line 513, in _copytree
    raise Error(errors)
shutil.Error: [('/Users/llamagod/miniconda3/envs/sage/share/jupyter/kernels/sagemath/doc', '/Users/llamagod/Library/Jupyter/kernels/sagemath/doc', "[Errno 2] No such file or directory: '/Users/llamagod/miniconda3/envs/sage/share/jupyter/kernels/sagemath/doc'")]

我尝试将 $SAGE_LOCAL/share/doc 符号链接到该目录,但我得到了同样的错误。

SageMath 9.2,JupyterLab 3.0.16

这是一个已知的问题 ?

标签: jupytersage

解决方案


最后,我使用了本页描述的替代方法来安装内核并避免复制文档。

ln -s `sage -sh -c 'ls -d $SAGE_LOCAL/share/jupyter/kernels/sagemath'` $HOME/miniconda3/envs/sage/share/jupyter

所以我现在可以在我的 conda 环境中从 jupyter 运行 sagemath 内核。


推荐阅读