提问者:小点点

将Jupyter kernelspec更改为指向anaconda python


我正在使用蟒蛇来管理Python和Jupyter。即:

>> which python
>> /home/.../software/anaconda3/bin/python

>> which jupyter
>> /home/.../software/anaconda3/bin/jupyter

但是Jupyter的python内核似乎指向python的系统版本,而不是通过Anaconda指向我的本地版本,因为sys。路径在Jupyter Python 3笔记本中是不同的。此外,jupyter kernelspec list给出了以下内容:

Available kernels:
  ir         /usr/local/share/jupyter/kernels/ir
  matlab     /usr/local/share/jupyter/kernels/matlab
  python3    /usr/local/share/jupyter/kernels/python3

这似乎并不完全令人惊讶,因为文件在第1.5节中说。5:

默认情况下,内核规范将放在系统范围内的位置(例如/usr/local/share/jupyter/kernels)。如果进行--user安装,内核规范将位于JUPYTER_DATA_DIR位置。

为了个人的理智和组织,我希望我在命令行中使用的Python版本与Jupyter中访问的版本相同。因此,我认为我应该做的是更改python3的jupyter kernelspec列表,以便它指向我想要的Anaconda python版本,即/home/.../soft/anaconda3/bin/python。我的问题是:1)这确实是我所声明的偏好的最佳解决方案吗,以及2)我如何实际更改Python3的jupyter kernelspec条目?不确定这是否会出现,但我不想使用虚拟环境——我希望命令行和Jupyter的默认版本都是相同的Python。


共2个答案

匿名用户

最后,我将其重新发布到Jupyter Github问题页面,并被建议删除/usr/local/share/Jupyter/kernels/python3。这允许Jupyter使用运行Jupyter本身的相同Python(即Anaconda)查找默认Python内核,这对我来说很有用。

你可以在Jupyter的Github页面上找到我的帖子,以及为什么上面的解决方案在这里工作的解释。

匿名用户

1) /usr/local/

2) 要将anaconda解释器显式链接到jupyter安装,您可以运行:

pip install ipykernel
python -m ipykernel install --prefix=/usr/local/ --name "anaconda_kernel"

对于全局安装,或更改/usr/本地/,如果您想要每个用户安装。这里专门为蟒蛇设置了一个医生

如果事先将其与jupyter kernelspec remove python3结合使用,则可以将anaconda内核重置为默认值以确保安全。