jupyter一般运行python,都是默认的当前环境的python,打个比方说,用的conda管理的python环境,一般都是当前环境加的python程序。
我今天遇到一个莫名其妙的问题,我不管在哪个 conda环境下,jupyter总是运行一个特定的python。
这个问题,明显就是有环境配置在搞鬼,但是我就是折腾conda环境折腾了两天时间,欲哭无泪。
最后通过参考 博客 Jupyter配置, 算是找到问题了。
通过运行:
$ jupyter kernelspec list
Available kernels:
python3 ~/.local/share/jupyter/kernels/python3
可以看到,jupyter其实是在 ~/.local
目录下有环境配置。我们来看看这个目录下的内容:
$ ls ~/.local/share/jupyter/kernels/python3/
kernel.json logo-32x32.png logo-64x64.png
配置就在 kernel.json 中:
$ cat ~/.local/share/jupyter/kernels/python3/kernel.json
{
"argv": [
"python",
"-m",
"ipykernel_launcher",
"-f",
"{connection_file}"
],
"display_name": "Python 3",
"language": "python"
}
在 argv 中就指明了 jupyter启动的 python 路径,我这里使用的相对路径,也就是实际环境是什么,我就启动的哪个python。
而我经历的错误配置就是一个绝对路径,不管我使用哪个conda环境,都用该绝对路径的python。
参考: