1 Jupyter简介

Jupyter Notebook是一个交互式笔记本,支持运行40多种编程语言,本质是一个Web应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和Markdown。

2 安装

使用pippip3安装:

# sudo pip install jupyter
sudo pip3 install jupyter

3 简单自定义设置

首先生成默认配置:

jupyter notebook --generate-config

接着会提示默认配置的位置,打开,找到c.NotebookApp.notebook.dir=''可以修改默认目录:



注意需要加上u前缀,表示Unicode字符串。

c.NotebookApp.browser可以修改默认浏览器,比如修改为Chrome:



需要加上%s参数,路径修改为对应路径。

其余配置请配合注释直接修改。

4 补全

补全需要安装nbextensions以及nbextensions_configurator

sudo pip3 install jupyter_contrib_nbextensions jupyter_nbextensions_configurator
# sudo pip install jupyter_contrib_nbextensions jupyter_nbextensions_configurator
jupyter contrib nbextension install --user
jupyter nbextensions_configurator enable --user

若依赖缺失请安装对应依赖,安装成功后打开Jupyter:

jupyter notebook

进入Nbextensions选项卡,去掉disable xxx的那个勾选,选择Hinterland即可:

5 美化

默认的UI真的不忍直视,在Github上有一个jupyter-themes的工具,可以对其进行美化。首先使用pip3/pip安装:

sudo pip3 install jupyterthemes

5.1 主题

安装完成后,使用

jt -l

查看主题,携带的主题有7个:

  • onedork
  • grade3
  • oceans16
  • chesterish
  • monokai
  • solarizedl
  • solarizedd

使用-t切换主题,比如:

jt -t chesterish

5.2 字体

支持以下三种自定义字体:

  • 代码字体:-f
  • Notebook字体(界面字体):-nf
  • 普通文本/Markdown字体:-tf

其中代码字体(-f)支持如下:

Notebook字体(-nf)/普通文本字体(-tf)/Markdown字体(-tf)支持如下:

支持以下六种自定义字体大小:

  • 代码字体大小:-fs,默认11
  • Notebook字体大小:-nfs,默认13
  • 普通文本/Markdown字体大小:-tfs,默认13
  • Pandas Dataframs字体大小:-dfs,默认9
  • 输出区域字体大小:-ofs,默认8.5
  • Mathjax字体大小:-mathfs,百分比,默认100%

比如笔者喜欢Firacode字体,并且需要放大输出区域的字体,可以如下设置:

jt -t chesterish -f firacode -fs 14 -ofs 12

5.3 Cell宽度与行距

可以手动控制Cell的宽度以及代码的行距,-cellw控制宽度(默认980),-lineh控制行距(默认170)。

jt -cellw 1800 -lineh 200

5.4 UI元素显示

  • 工具栏显隐:-T
  • 名称与Logo显隐:-N
  • 内核Logo显隐:-kl

5.5 绘图风格

使用如下语句设置(需要在Jupyter内):

from jupyterthemes import jtplot
jtplot.style()

其中style()的参数如下:

  • theme:字符串类型,主题,可选值与jt -l显示一致
  • context:字符串类型,取值papernotebooktalkposter
  • grid:布尔类型,表示是否包含网格线
  • gridlines:字符串类型,表示网格线的风格,比如--表示虚线
  • ticks:布尔类型,表示x/y轴上的坐标标线的显隐
  • spines:布尔类型,表示图像四周是否显示包围框
  • fscalefloat类型,表示缩放字体,图例等等
  • figsize:元组类型,表示默认的Matplotlib图像的大小

笔者的参考配置:

jt -t chesterish -f firacode -fs 14 -ofs 12 -cellw 1500 -lineh 200 -T

6 常用库安装

使用pip+离线方式安装,首先需要知道系统架构,可以使用:

arch
uname -m

等方式查看,比如笔者的是x86_64戳这里进入下载,常用库列表如下:

  • Numpy
  • Scipy
  • Scikit-learn
  • Scikit-image
  • Spark MLLib(叫作PySpark)
  • Theano
  • TensorFlow
  • PyTorch
  • Pandas
  • Matplotlib

下面以numpy进行演示安装,搜索后点击第一个:





根据Python版本,系统以及架构选择对应的包,下载:



使用pip3pip安装即可:



其余库安装类似,若缺失依赖请先安装依赖。

配置Jupyter环境:安装+补全+美化+常用库的更多相关文章

  1. 环境配置 jupyter代码自动补全

    自动补全 参考链接: https://www.lefer.cn/posts/15473/

  2. Java基础-配置开发环境-安装JDK

    Java基础-配置开发环境-安装JDK 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.计算机基础知识 1>.计算机的组成 计算机有硬件与软件组成. 2>.硬件: 硬 ...

  3. Jupyter Notebook自动补全

    大多数程序员都非常熟悉不同的自动补全工具.然而,我注意到许多数据科学家还没有使用它.如果你是他们中的一员,是时候开始使用这个提高效率的工具了 什么是自动补全? 它是你的编程环境提供的一种功能,用于完成 ...

  4. 配置开发环境&安装sklearn

    我的开发环境是Jupyter lab,所用的库和版本大家参考: Python 3.7.1(你的版本至少要3.4以上) Scikit-learn 0.20.0 (你的版本至少要0.19) Graphvi ...

  5. Jupyter notebook 自动补全

    Jupyter notebook 自动补全   Jupyter notebook使用默认的自动补全是关掉的.要打开自动补全,需修改默认配置.  ipython profile create 以上命令会 ...

  6. purcell的emacs配置中的自动补全功能开启

    标记一下,原文参看purcell的emacs配置中的自动补全功能开启 修改init-auto-complete.el文件 ;;(setq-default ac-expand-on-auto-compl ...

  7. Linux --- vim 安装、支持python3的配置、插件自动补全YCM的安装配置及全过程错误总结

    1.git(用来下载vim和相关插件) sudo apt-get install git 2,cmake(用来编译clang-llvm) sudo apt-get install build-esse ...

  8. jupyter notebook自动补全功能实现

    Jupyter notebook使用默认的自动补全是关掉的.要打开自动补全,需修改默认配置. 命令行中输入:ipython profile create 以上命令会在~/.ipython/profil ...

  9. Learning Lua Programming (3) iMac下搭建Lua脚本最好的编码环境(代码补全,编译运行)

    这篇文章参考自http://blog.sina.com.cn/s/blog_991afe570101rdgf.html,十分感谢原作者的伟大创造,本人亲测可行. 这篇文章记录一下如何在MAC系统环境下 ...

随机推荐

  1. 数据序列化工具——flatbuffer

    flatbuffer是一款类似于protobuf的数据序列化工具.所有数据序列化,简单来说,就是将某程数据结构按照一定的格式进行编码与解码,以方便在不同的进程间传递后,能够正确的还原成之前的数据结构. ...

  2. UDP编程详解

    目录 报文格式 通信过程 UDP客户端流程 UDP客户端编码 UDP服务器流程 UDP服务器编码 参考文献 UDP与TCP的不同之处是:他的通信不需要建立连接的过程.中文名称用户数据报协议.时OSI参 ...

  3. [Python学习笔记]组织文件

    shutil 模块 shutil 模块可以让我们很方便的在Python程序中复制.移动.改名和删除文件. 复制文件和文件夹 使用shutil.copy()来复制文件,该函数含两个参数,均为字符串格式的 ...

  4. 你真的了解URLEncode吗?

    使用浏览器进行Http网络请求时,若请求query中包含中文,中文会被编码为 %+16进制+16进制形式,但你真的深入了解过,为什么要进行这种转义编码吗?编码的原理又是什么? 例如,浏览器中进行百度搜 ...

  5. linux系统导出随笔

    导出时,不要用root用户忽略某张表的命令(多张表则直接往后加即可) --ignore-table=firewall_8088.operate_history --ignore-table=firew ...

  6. Django Admin 删除文件同时删除资源文件(delete_upload_files)

    一  使用环境 开发系统: windows IDE: pycharm 数据库: msyql,navicat 编程语言: python3.7  (Windows x86-64 executable in ...

  7. 微信小程序:页面全局参数(注意不是小程序的全局变量globalData)

    为什么要使用页面全局参数:方便使用数据. 由于总页数需要再另外的一个方法中使用,所以要把总页数变成一个页面全局参数.因为取数据使用this.xxx即可,中间不用加data,给页面全局参数赋值页方便,直 ...

  8. python2与python3共存时的pip问题

    在树莓派上同时安装有python2和python3,初始的pip是9.01版本,用pip install django只能安装到1.11版本,但是我需要2.0的django. 于是升级pip: pyt ...

  9. 微信小程序弹出框滚动穿透问题

    1.在你的遮罩层最外层加 catchtouchmove="noneEnoughPeople" 里面是你的方法名2.noneEnoughPeople: function () { c ...

  10. Linux Kernel 0.12 启动简介,调试记录(Ubuntu1804, Bochs, gdb)

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...