3、Python的IDE之Jupyter的使用

喜欢而已 提交于 2019-12-13 08:49:08

一、Jupyter介绍

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

Jupyter Notebook 也是一个算法工程师友好的工具,但仍有许多拓展的空间,比如:当你的文件中包含大量的代码和 Markdown 混排时,你可能需要一个目录来帮助你更好的对文件结构进行可视化,nbextensions 可以帮我们实现。

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

二、安装

1、安装方法

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

pip install jupyter

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

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

2、安装完成后运行

jupyter notebook

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

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

默认会自动跳转到页面(网页)

image

3、安装过程中问题处理

我这里运行jupyter notebook时却报错,如下:

image

最后几行显示的是这个错误。
google出来的解决办法如下:
在C:\Python\Python38\Lib\site-packages\tornado\platform\asyncio.py下添加如下内容:

import sys

if sys.platform == 'win32':
    asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
ps:问题好像与jupyter使用的tornado服务有关。

三、基本使用

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文件,如下

image

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

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

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

image

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

image

3.一些基本操作

image

如何在jupyter notebook直接安装模块

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

还有很多功能给大家自己开发吧,欢迎评论留言,说出你还知道的Jupyter的其他功能。

四、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 选项,点击可以展开拓展程序选项:

image

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

image

五、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到谷歌浏览器中。

八. 常用的插件

  • 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
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!