数据科学工具 Jupyter Notebook 教程(二)
Jupyter Notebook 是一个把代码、图像、注释、公式和作图集于一处,实现可读性分析的交互式笔记本工具。借助所谓的内核(Kernel)的概念,Jupyter Notebook 可以同时支持包括 R、python2、python3、Ruby 在内超过50多种不同编程环境。
基于 Kernel,Jupyter Notebook 可以支持的编程语言:
(其实 Jupyter Notebook 可以支持的编程语言,远不止这几种。下图只是个不完全列表。)

说了那么多,开始今天的主题:如何在 Jupyter Notebook 实现 python2 与 python3 自由切换,主要分为两步:
1. 分别在 python2 和 python3 环境中安装 ipykernel 内核。
2. 为当前用户(--user),或者指定路径(--prefix)注册 IPython kernel spec,即把内核的信息写到指定的 kernel.json。
关于 2 需要注意以下 5 点:
--user与--prefix不能同时使用。使用
--user,IPython kernel spec 默认安装到当前用户 ~/.local/share/jupyter/kernels 或者 ~/.ipython/kernels 。使用
--prefix,后接 IPython kernel spec 自定义安装路径。不用
--user和--prefix,IPython kernel spec 默认安装到 /usr/local/share/jupyter/kernels 或者 /usr/share/jupyter/kernels 。IPython kernel spec 安装可以使用 python -m ipykernel install,也可以使用 ipython-kernel-install 命令,两者是一样的。

为了更好地说明,下面我们来实际操作一下。
Python 命令直接安装:
# python2 环境(默认)
$ python -m pip install ipykernel
$ python -m ipykernel install --prefix=/Bio/Anaconda2.5/
# python3 环境
$ /Bio/Anaconda2.5/envs/python3/bin/python -m pip install ipykernel
$ /Bio/Anaconda2.5/envs/python3/bin/python -m ipykernel install --prefix=/Bio/Anaconda2.5/ --name "python3"
也可以使用 conda 命令安装:
# python2 环境(root)
conda install -n root ipykernel
python -m ipykernel install --prefix=/path/to/install --name "python2"
# python3 环境
conda install -n python3 ipykernel
/path/to/python3 -m ipykernel install --prefix=/path/to/install --name "python3"
最后,检查安装好的 kernels:
$ jupyter-kernelspec list
Available kernels:
python2 /Bio/Anaconda2.5/share/jupyter/kernels/python2
python3 /Bio/Anaconda2.5/share/jupyter/kernels/python3
可以看到,python2 和 python3 的 kernel 已经安装好了,我们在命令行输入 jupyter notebook ,在 web 页面的 "新建笔记(New)" 中就可以看到支持自由切换的 python2 和 python3 环境:


本文分享自微信公众号 - 生信科技爱好者(bioitee)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
数据科学工具 Jupyter Notebook 教程(二)的更多相关文章
- 数据分析交互工具jupyter notebook需要密码登陆解决办法
想要做数据分析,交互可视化工具jupyter notebook是必不可少的,但是在安装和使用其时候总是会出现各种各样的问题,本文针对notebook启动需要密码的问题进行解决. 首先看一下启动jupy ...
- Web开发工具——Jupyter notebook
jupyter-notebook 安装及远程访问 Introduction Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程 ...
- jupyter notebook(二)——修改jupyter打开默认的工作目录
1.简述 jupyter notebook,启动后,浏览器发现工作目录并不是自己真正的代码的工作路径.所以需要设置一下.这样方便自己快捷使用. 2.设置修改jupyter notebook打开后默认工 ...
- 数据层交换和高性能并发处理(开源ETL大数据治理工具--KETTLE使用及二次开发 )
ETL是什么?为什么要使用ETL?KETTLE是什么?为什么要学KETTLE? ETL是数据的抽取清洗转换加载的过程,是数据进入数据仓库进行大数据分析的载入过程,目前流行的数据进入仓库的 ...
- (数据科学学习手札18)二次判别分析的原理简介&Python与R实现
上一篇我们介绍了Fisher线性判别分析的原理及实现,而在判别分析中还有一个很重要的分支叫做二次判别,本文就对二次判别进行介绍: 二次判别属于距离判别法中的内容,以两总体距离判别法为例,对总体G1,, ...
- JS模块化工具require.js教程(二):基本知识
前一篇:JS模块化工具我们以非常简单的方式引入了requirejs,这一篇将讲述一下requirejs中的一些基本知识,包括API使用方式等 基本API require会定义三个变量:define,r ...
- Python3数据科学入门与实践学习教程
整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大家看的时候可以关注下面几点: 1.为了追求精 ...
- Git工具的使用教程二
1.3时光穿梭机--版本回退 版本回退分为两步骤进行操作: 步骤: 1.查看版本,确定需要回到的时候点 指令: git log git log ...
- 干货!小白入门Python数据科学全教程
前言 本文讲解了从零开始学习Python数据科学的全过程,涵盖各种工具和方法 你将会学习到如何使用python做基本的数据分析 你还可以了解机器学习算法的原理和使用 说明 先说一段题外话.我是一名数据 ...
- 全真教程:Windows环境Jupyter Notebook安装、运行和工作文件夹配置
全真教程:Windows环境Jupyter Notebook安装.运行和工作文件夹配置 @ 目录 全真教程:Windows环境Jupyter Notebook安装.运行和工作文件夹配置 一.Jupyt ...
随机推荐
- 这样封装echarts简单好用
为什么要去封装echarts? 在我们的项目中,有很多的地方都使用了echarts图表展示数据. 在有些场景,一个页面有十多个的echarts图. 这些echarts只是展示的指标不一样. 如果我们每 ...
- NOIP2022游记
NOIP2022游记 今年是第二次考NOIP了,去年第一次考的时候没学过什么东西,混了个省二.今年以高中生的身份考,不仅仅是要省一,还得拿个不错的名次,任务不小. 考试当天早上校园里的雾很大,不知道会 ...
- SpringBoot 启动类的原理
SpringBoot启动类上使用 @SpringBootApplication注解,该注解是一个组合注解,包含多个其它注解.和类定义(SpringApplication.run)要揭开 SpringB ...
- 四月十三号java基础知识
1.双层for循环外层要写,但是内层一定要写,不然容易报错2.Exception in thread "main" java.lang.ArrayIndexOutOfBoundsE ...
- 论文解读( FGSM)《Adversarial training methods for semi-supervised text classification》
论文信息 论文标题:Adversarial training methods for semi-supervised text classification论文作者:Taekyung Kim论文来源: ...
- 浅析pcba测试
说起PCB大家都很熟悉,那大家知道什么是PCBA吗?它是指将PCB板进行加工,支撑一个成品线路板.而PCBA测试就是对线路板进行一个功能测试.电路测试.那么为什么一定要对PAB板进行检测呢?它有什 ...
- Mysql中如果建立了索引,索引所占的空间随着数据量增长而变大,这样无论写入还是查询,性能都会有所下降,怎么处理?
索引所占空间的增长确实会对MySQL数据库的写入性能和查询性能造成影响,这主要是由于索引数据过多时会导致磁盘I/O操作变得非常频繁,从而使性能下降.为此,可以采取以下几种方式来减缓这种影响: 1. 限 ...
- hasOwnProperty的作用、配合for in使用 、key in Object判读key
我们都知道,对象以 key|value的形式存在 它和数组一样可以遍历,对象可以通过for in 去遍历,拿到遍历对象的所有key 某些idea在使用for in 时,提示代码片段中就有出现以下这种情 ...
- go中 for循环的坑
go中 for循环的坑 在使用for循环修改结构体切片中的值时,发现并没有修改成功. type Dog struct { name string } func (d *Dog) setNewName( ...
- [aac @ 0x1dd24c0] Input contains NaN/+-Inf
ffmpeg编码pcm为aac时报错:[aac @ 0x1dd24c0] Input contains NaN/+-Inf 在./configure选项后面加上下列选项就可以 --enable-enc ...