一、Jupyter介绍

Jupyter Notebook是当前一种十分流行的基于网页的开发环境,它灵活、高度可扩展,不仅允许用户创建和共享含有代码的文档,还可以植入公式、可视化图片和描述性的文本等,是大数据分析师最喜欢的利器。

Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和 markdown。用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等。

jupyter实际就是个tornado框架的web应用,使用MQ进行消息管理。

二、安装

推荐使用Anaconda,自带了Numpy、Scipy、Matplotlib等多种python开发包和Jupyter notebook

1、安装

windows下,cmd 中直接使用 pip 安装

pip install jupyter

注意:Jupyter安装需要Python 3.3或更高版本,或Python 2.7。

安装过程比较漫长,大概需要5min左右。

2、运行

jupyter notebook

可以使用一个批处理文件

cd %USERPROFILE%
jupyter notebook

如果安装正常,可能不会出错。

注意:启动notebooks之后,不要不要不要关闭该命令提示窗口,因为一旦关闭该窗口就会与本地服务器断开连接。

默认会自动跳转到页面(网页:http://localhost:8888/

3、问题处理

我这里运行jupyter notebook时却报错,最后几行显示的是这个错误,如下:

问题好像与jupyter使用的tornado服务有关。解决办法如下:

在C:\Python\Python38\Lib\site-packages\tornado\platform\asyncio.py,下添加如下内容:

import sys

if sys.platform == 'win32':
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())

三、基本使用

1、修改默认目录(工作空间)

(1)查找jupyter配置文件路径

C:\Users\bobin.yang>jupyter notebook --generate-config
Writing default config to: C:\Users\bobin.yang\.jupyter\jupyter_notebook_config.py

(2)找到配置文件,更改默认目录

## The directory to use for notebooks and kernels.
c.NotebookApp.notebook_dir = r'C:\PycharmProjects\untitled'

再次启动jupyter,发现主页面文件为我们自己指定的文件夹内的文件了。(默认为电脑桌面文件)

2、新建一个python文件

我们点击页面上的new按钮,新建一个py3文件,如下

头部区域为该文件的名称(默认为Untitled),点击即可修改文件名,此处我们命名为test,如下所示,

In [ ] :后面的输入框中我们可以输入一段python代码进行测试。

点击Run按钮执行,也可以快捷键Ctrl+Enter执行代码。

我第一次输入2+3,按Shift+Enter键运行,得出结果5,然后还可以把上面的输入更改,改为2+5,再运行,也能得出结果,这也是Jupyter的一个特性:可以修改之前的单元格,对其重新计算,这样就可以更新整个文档了。

Jupyter Notebooks 的强大之处在于除了能够输入代码之外,你还可以用 Markdown 添加叙述性和解释性文本。比如我想添加一个文字说明,在代码上面添加了一个单元格,并以 Markdown 输入了一个文本。按下Ctrl+Enter,效果如下:

3、一些基本操作

如何在jupyter notebook直接安装模块

!pip install 【模块名】
# 注意要加“!”

四、Jupyter插件安装

nbextensions 是 Jupyter 非常好的插件,它是将一系列 js 脚本嵌入到 Jupyter 中,增强 Jupyter 的交互式体验,可以让你的 Jupyter 变得非常强大。

1、不同平台安装

python:

pip install jupyter_contrib_nbextensions

conda:

conda install -c conda-forge jupyter_contrib_nbextensions

2、第一个步骤结束后,安装脚本文件

jupyter contrib nbextension install --user
#启用 nbextensions
jupyter nbextension enable codefolding/main

2、配置

打开 Jupyter Notebook,可以看到主界面菜单栏多出了 Nbextensions 选项,点击可以展开拓展程序选项:

每个拓展程序均可以单击后查看介绍与使用方法,我们以拓展目录为例。勾选红框中的Table of Contets (2)项目。然后新建一个项目,点击菜单栏的最右边新增的目录符号,即可显示文件目录。更多的设置可以点击左侧目录的设置按钮。

五、Jupyter魔术方法

六、Jupyter快捷键

当你熟练使用notebooks的基本功能后,掌握他的快捷键是十分必要的,这样可以大大提高你的工作效率。下面是一些比较常用的快捷键:

编辑模式:点击单元格按下Enter

命令模式(退出编辑模式):Esc

进入命令模式之后(此时你没有活跃单元),有以下快捷键:

  • A:在所选单元之上插入一个新的单元
  • B:在所选单元之下插入一个新的单元
  • D:连续按两次删除所选的单元
  • Z:撤销被删除的单元
  • Y:将当前选中的单元变成一个代码单元
  • F:查找和替换
  • Shift +上或下箭头:可选择多个单元。
  • Shift + M:在多选模式时,可合并你的选择。

处于编辑模式时(在命令模式时按 Enter 会进入编辑模式),下列快捷键很有用:

  • Ctrl + Home :到达单元起始位置
  • Ctrl + S :保存进度
  • Ctrl + Enter :会运行你的整个单元块
  • Alt + Enter :不止会运行你的单元块,还会在下面添加一个新单元
  • Ctrl + Shift + F :打开命令面板

可在命令模式按 H 或进入Help > Keyboard Shortcuts。可以查看键盘快捷键完整列表。如下:

七、Jupyter后home页面空白问题解决

1、产生jupyter_notebook_config.py文件,使用windows+r打开cmd命令输入命令:jupyter notebook --generate-config(注意notebook后面有空格)

在cmd界面中会提示出,jupyter_notebook_config.py中文件的路径

2、开jupyter_notebook_config.py文件,在第(95-99行)找到 # c.NotebookApp.browser = '',在该行代码下方增加

import webbrowser
webbrowser.register('chrome', None, webbrowser.GenericBrowser(
u'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'))
c.NotebookApp.browser = 'chrome'

其中上面代码中C:\Program Files (x86)\Google\Chrome\Application\chrome.exe是google浏览器的路径地址。

3、再次打开jupyter notebook,如果默认浏览器不是google浏览器,复制自己电脑中的cmd中的http://localhost:8888/?token=74493923aa071ac11d0a797133a6736296308800110bf662到谷歌浏览器中。

八、Markdown单元高级用法

让我们再深入地探讨下markdown单元类型,即便它的类型是markdown,它同时也支持HTML代码。你可以在你的cell中创建更高级的样式,比如添加图片等等。举个例子来说,如果你想在notebook中添加Jupyter的图标,尺寸为100x100,并且放置在cell左侧,可以这样编写:

<img src="http://blog.jupyter.org/content/images/2015/02/jupyter-sq-text.png"
style="width:100px;height:100px;float:left">

运行该单元,效果如下:

除此之外,markdown还支持LaTex语法。你可以在markdown cell中按照LaTex语法规则写下方程式,然后直接运行,就可以看到结果。例如运行下面方程式:

$$\int_0^{+\infty} x^2 dx$$

运行后就得到了LaTex方程式:


给Jupyter换主题

使用Jupyter主题,不仅能让你的Jupyter界面更好看、更舒服,还能让屏幕上的代码看起来更显眼。

比如Chesterish主题:

solarizedl主题:

来看一下具体的操作方法:

第一步,安装:

!pip install jupyterthemes

第二步,加载可用主题列表:

!jt -l

第三步,选择你想要的主题:

# selecting a particular theme
!jt -t <name of the theme>
# reverting to original Theme
!jt –r

就会返回所有你安装好的主题的名词列表,这样你就知道了你安装了哪些主题。
最终,我的选择是chesterish这个主题,同时希望打开顶部的工具栏(Toolbar),显示笔记本的名字(Name)

jt -t chesterish -T -N

现在可用的主题有:

chesterish
grade3
gruvboxd
gruvboxl monokai
oceans16
onedork
solarizedd
solarizedl

把名字填进去就好啦。

不过,每次换主题的时候都要重新加载Jupyter,才能看到主题变化。

执行shell命令

Shell是一种与计算机进行文本交互的方式。

一般来讲,当你正在使用Python编译器,需要用到命令行工具的时候,要在shell和IDLE之间进行切换。

但是,如果你用的是Jupyter,就完全不用这么麻烦了,你可以直接在命令之前放一个“!”,就能执行shell命令,完全不用切换来切换去,就能在IPython里执行任何命令行。

In [1]: !ls
example.jpeg list tmp
In [2]: !pwd
/home/Parul/Desktop/Hello World Folder'
In [3]: !echo "Hello World"
Hello World

我们甚至可以将值传递给shell,像下面这样:

In [4]: files= !ls
In [5]: print(files)
['example.jpeg', 'list', 'tmp']
In [6]: directory = !pwd
In [7]: print(directory)
['/Users/Parul/Desktop/Hello World Folder']
In [8]: type(directory)
IPython.utils.text.SList

注意,返回结果的数据类型不是列表。


八. 常用的插件

  • Code Prettify
  • Collapsible headings
  • Highlight selected word
  • Nofity
  • Ruler
  • Snippets Menu
  • table_beautifier
  • Codefolding
  • Execute Time
  • Hide Header
  • highlighter
  • Nbextensions dasnboard tab
  • Runtools
  • Toggle all line numbers
  • contrib_nbextensions_help_item
  • Freeze
  • Hide Input
  • Nbextensions edit menu item
  • Python Markdown
  • Scratchpad
  • Tree filter
  • datestamper
  • Hide input all
  • Scroll Down
  • Snippets
  • Table of Content
  • Variable Inspector

如何优雅地使用 Jupyter?

https://www.zhihu.com/question/59392251

3、Python的IDE之Jupyter的使用的更多相关文章

  1. Python的IDE之Jupyter的使用

    Python的IDE之Jupyter的使用 今天给大家分享的是Jupyter安装和基本使用教程,同时在我安装的过程中遇到了一些问题,解决方法,一并和大家分享 一.Jupyter介绍 Jupyter N ...

  2. 2、Python的IDE之PyCharm的使用

    一.Python集成开发环境-Pycharm介绍 PyCharm是一款功能强大的,用于编写复杂需要结构化的功能代码,下面介绍一下 在Windows下如何安装PyCharm . 操作系统:Windows ...

  3. Python在线IDE | 谷歌Colaboratory云端IDE介绍

    目录 1. 推荐阅读 2. 本文地址 3. 按 4. 使用篇 6. 教学篇 1. 推荐阅读 Python基础入门一文通 | Python2 与Python3及VSCode下载和安装.PyCharm破解 ...

  4. Python的IDE之Pycharm的使用

    Python的IDE之Pycharm的使用 一.为什么用IDE(Python集成开发环境-Pycharm) 到现在为止,我们也是写过代码的人啦,但你有没有发现,每次写代码要新建文件.写完保存时还要选择 ...

  5. 【转】使用Python的IDE:Eclipse+PyDev

    原文网址:http://www.crifan.com/try_with_python_ide_eclipse_pydev/ 之前已经介绍过了一些基本知识: [整理][多图详解]如何在Windows下开 ...

  6. 【整理】各种Python的IDE(集成开发环境)的总结和对比

    原地址:http://www.tuicool.com/articles/rMVJNn 原文  http://www.crifan.com/summary_common_python_ide_pyscr ...

  7. dotfiles for linux/unix users automatically! (python Vim IDE)

    Here is a brief introduction and package of dotfiles for linux/unix user. I think there are enough i ...

  8. python eric6 IDE

    之前开发一直使用sublime text + anaconda, 无意中发现了eric, Python主流IDE对比:Eric VS. PyCharm 使用IDE绝对是能提高开发效率的... http ...

  9. python基础系列教程——Python的安装与测试:python的IDE工具PyDev和pycharm,anaconda

    ---恢复内容开始--- python基础系列教程——Python的安装与测试:python的IDE工具PyDev和pycharm,anaconda 从头开启python的开发环境搭建.安装比较简单, ...

随机推荐

  1. 有关dfs、bfs解决迷宫问题的个人见解

    可以使用BFS或者DFS方法解决的迷宫问题! 题目如下: kotori在一个n*m迷宫里,迷宫的最外层被岩浆淹没,无法涉足,迷宫内有k个出口.kotori只能上下左右四个方向移动.她想知道有多少出口是 ...

  2. git revert commitid

    是生成一个和commitid的提交完全相反的提交.类似倒转.

  3. 域名解析中的cname解析和显性URL跳转和隐性URL跳转三者有什么区别

    通俗的来讲,cname解析还是属于dns解析,只是把某个域名解析到另外一个域名对应的某个IP的空间中,所以还需要在服务器端(比如nginx)做域名解析(比如把baidu.com做一个cname解析到i ...

  4. BJFU-217-基于链式存储结构的图书信息表的逆序存储

    这道题可以用头插法创建列表,然后正常输出: #include<stdio.h> #include<stdlib.h> #define MAX 100 typedef struc ...

  5. Python的基本数据类型2

    1.str(字符串) 1.切片 str = "你好,我是Python" s = str[0:4] #用法[start:end:step],指定开始下标和结束下标,step是步长,默 ...

  6. 【LEETCODE】73、根据身高重建队列 第406题

    说实话,这道题我没想出来,但是看解题报告题解比较让人觉得眼前一亮,这里记录下来 package y2019.Algorithm.greedy.medium; import java.util.Arra ...

  7. PB 修改datawindow 的背景色

    1.修改标题行的背景色 rgb(235, 235, 235) 2.修改选择行的背景色(即选择行高亮) if(currentrow() = getrow(), rgb(235,235,235), rgb ...

  8. [cf 1194 D] 1-2-K Game

    (当时让这道sb题卡住了,我比sb还sb) 题意: n个东西,两个人轮流取,每次可以取走1个,2个或k个,不能取的人输,求谁必胜. $0\leq n \leq 10^{9},3\leq k \leq ...

  9. 对于解决VS2015启动界面卡在白屏的处理方法

    有时候会遇到这种情况,仅供参考 找到devenv.exe所在文件夹,按住Shift,在空白地方右键,选择“在此处打开命令窗口”,在打开的窗口中输入devenv /ResetSettings 重新设置V ...

  10. flickity:支持触摸滑动,响应迅速的幻灯片轮播插件

    简介:flickity 是一个支持触摸,响应迅速的幻灯片轮播插件.支持环绕滑动.自由滑动.组滑动.自动播放.延迟加载.视差滑动.图片滑动.兼容IE10+, Android 4+, Safari for ...