Jupyter Notebook Python2/3 共存的问题 2018-01-30

在archlinux上安装Jupyter Notebook,pacman默认装的core对应python3。由于还有使用python2的需求,所以希望能够实现python2和python3在Jupyter上共存,以便切换使用。

Python2在之前已经装好,“python”命令已经被python3占用,所以使用“python2”命令执行。在网上查了一些资料后使用先安装pip2,然后用pip2安装ipython的ipykernel。

pacman -Sy python2-pip
pip2 install ipykernel

如果权限不够,用sudo提权。安装后,查看jupyter版本,python2/3都装好了。

jupyter-kernelspec list

输出

python2 /usr/share/jupyter/kernels/python2
python3 /usr/share/jupyter/kernels/python3

启动Jupyter Notebook后,新建会话里已经出现了python2选项,点击打开,由于这里看不到python版本信息,输入

import sys
sys.version

输出

'3.6.4 (default, Dec 23 2017, 19:07:07) \n[GCC 7.2.1 20171128]'

实际上这里仍然调用的是python3, 并没有调用python2版本。

网上查阅中英文资料均无结果,无意间发现系统里有两个kernel.json文件,分别是

/usr/share/jupyter/kernels/python2/kernel.json
/usr/share/jupyter/kernels/python3/kernel.json

编辑/usr/share/jupyter/kernels/python2/kernel.json

{
"display_name": "Python 2",
"language": "python",
"argv": [
  "python",
  "-m",
  "ipykernel_launcher",
  "-f",
  "{connection_file}"
]
}

把其中argv第一个参数改为python2

{
"display_name": "Python 2",
"language": "python",
"argv": [
  "python2",
  "-m",
  "ipykernel_launcher",
  "-f",
  "{connection_file}"
]
}

重新打开Jupyter notebook,新建python2会话查看版本

import sys
sys.version

输出

'2.7.14 (default, Sep 20 2017, 01:25:59) \n[GCC 7.2.0]'

至此,问题解决。

(同步发表在 http://b2f.me/jupyter-notebook-python2-3-gong-cun-de-wen-ti-2018-01-30/)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、什么是Jupyter Notebook? 1. 简介 Jupyter Notebook是基于网页的用于交互计算...
    Raxxie阅读 1,446,269评论 36 705
  • 图片链接已失效,欢迎前往我的博客查看最新版本 Jupyter Notebook Jupyter notebook,...
    liuchengxu阅读 35,718评论 2 33
  • Jupyter notebook 是什么? 欢迎学习本课程——如何使用 Jupyter notebook。Jupy...
    Jackpot_0213阅读 2,101评论 0 6
  • 双鬼唤阶下,邀我往酒家。 浔阳夜似水,繁星如乱麻。 月色扫幽径,深巷来晚鸦。 当卢有烟女,卖笑多杨花。 只影酒味寡...
    ptjiang阅读 213评论 0 2
  • 文/ys枕边书 我站在温暖如你的阳光里,想起你曾经的温柔。我多想此刻有你在身边,一起读一本书。 站在楼上看日落,想...
    ys枕边书阅读 275评论 0 1