Python2与Python3共存环境下Jupyter Notebook内核异常问题求助
修复Jupyter Notebook Python2内核实际运行Python3的问题
嘿,我之前也碰到过类似的内核混淆问题,给你几个针对性的排查和修复步骤,亲测有效:
1. 重新安装并注册Python2的ipykernel
首先得确保Python2的包管理工具是可用的,先确认pip2的位置:
which pip2
如果能找到路径,就用它重新安装Python2版本的ipykernel:
pip2 install --user ipykernel
接着把Python2内核重新注册到Jupyter的内核列表里:
python2 -m ipykernel install --user
2. 检查并修正内核配置文件
Jupyter的内核配置文件存放在~/.local/share/jupyter/kernels/python2/目录下,里面的kernel.json是关键。打开这个文件看看:
cat ~/.local/share/jupyter/kernels/python2/kernel.json
正常情况下,argv数组的第一个元素应该是Python2的绝对路径,比如:
{ "argv": [ "/usr/bin/python2", "-m", "ipykernel_launcher", "-f", "{connection_file}" ], "display_name": "Python 2", "language": "python" }
如果这里的路径指向的是Python3(比如/usr/bin/python3),手动改成你系统里Python2的实际路径,保存后重启Jupyter。
3. 避免全局Python软链接影响
有些系统会把python命令默认软链到Python3,这可能会干扰内核调用。你可以先检查一下:
which python ls -l $(which python)
如果确实指向Python3,不用修改全局默认(避免影响其他依赖Python2的程序),只要确保刚才的kernel.json里写死Python2的绝对路径就行。
4. 验证修复结果
重启Jupyter Notebook,新建一个Python2内核的笔记本,运行以下代码验证:
import sys print(sys.version)
如果输出显示2.7.14,就说明问题解决啦!
内容的提问来源于stack exchange,提问作者Rajarshi Bandopadhyay
相关产品推荐
相关产品推荐

