You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jupyter Notebook内核未被conda info -e识别的问题求助

问题梳理与解决建议

嘿,我来帮你捋清楚这个问题哈~先把你给出的命令输出整理清楚,再分析差异原因和解决办法:

1. 你执行的命令及对应输出

执行jupyter kernelspec list得到的内核列表:

python3 /opt/anaconda3/lib/python3.5/site-packages/ipykernel/resources
ir /opt/anaconda3/share/jupyter/kernels/ir
apache_toree_pyspark /usr/local/share/jupyter/kernels/apache_toree_pyspark
apache_toree_sql /usr/local/share/jupyter/kernels/apache_toree_sql
sparktest_scala /usr/local/share/jupyter/kernels/sparktest_scala

执行conda info -e得到的conda环境列表:

base * /opt/anaconda3
py35-Spark /opt/anaconda3/envs/py35-Spark

2. 为什么会出现这种差异?

其实这俩命令的作用范围本来就不一样:

  • conda info -e只展示由conda官方管理的虚拟环境,也就是你通过conda创建/安装的环境;
  • 而jupyter kernelspec list展示的是Jupyter能识别的所有内核,除了conda环境对应的内核,还包括:
    • 系统级安装的内核(比如那个ir是R内核,大概率是通过apt、CRAN这类非conda渠道装的);
    • Spark相关的Toree内核(apache_toree_*系列),这类是专门用于Spark多语言交互的独立内核,和conda环境没关系;
    • 你自定义的Scala内核(sparktest_scala),应该是手动添加的非conda内核。

至于你提到Notebook里仅能看到部分内核,大概率是这些非conda内核的配置存在路径问题,或者当前用户没有足够权限读取它们的配置文件。

3. 可以试试这些解决办法

把conda环境的内核加到Notebook里

如果你的py35-Spark环境没在Notebook里显示,先激活这个环境,然后安装ipykernel并注册:

conda activate py35-Spark
conda install ipykernel
python -m ipykernel install --user --name py35-Spark --display-name "Python 3.5 (Spark)"

重启Jupyter之后,应该就能看到这个内核选项了。

检查非conda内核的配置文件

每个Jupyter内核都有个kernel.json配置文件,路径就是kernelspec list里显示的路径。比如查看apache_toree_pyspark的配置:

cat /usr/local/share/jupyter/kernels/apache_toree_pyspark/kernel.json

重点看argv字段里的执行路径,确认Spark、Python这些工具的路径是否正确,有没有和你的系统环境冲突。

修复内核目录的权限

如果是权限问题导致Notebook读不到内核,先检查目录权限:

ls -l /usr/local/share/jupyter/kernels/

要是当前用户没有读取权限,就调整一下:

sudo chmod -R 755 /usr/local/share/jupyter/kernels/

重启Jupyter应该就能看到这些内核了。

内容的提问来源于stack exchange,提问作者wwjdm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:09:06