• Python(03):Python的IDE之Jupyter的使用


    一、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之后,不要不要不要关闭该命令提示窗口,因为一旦关闭该窗口就会与本地服务器断开连接。

    image

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

    image

    3、问题处理

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

    image

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

    在C:PythonPython38Libsite-packages ornadoplatformasyncio.py,下添加如下内容:

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

    三、基本使用

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

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

    C:Usersobin.yang>jupyter notebook --generate-config
    Writing default config to: C:Usersobin.yang.jupyterjupyter_notebook_config.py

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

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

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

    2、新建一个python文件

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

    image

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

    image

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

    这里写图片描述

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

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

    image

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

    image

    3、一些基本操作

    image

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

    image

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

    image

    五、Jupyter魔术方法

    013-Python集成开发环境之Jupyter的使用-07.jpg?x-oss-process=style/watermark

    六、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)GoogleChromeApplicationchrome.exe'))
    c.NotebookApp.browser = 'chrome'

    其中上面代码中C:Program Files (x86)GoogleChromeApplicationchrome.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="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

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

    image

    八. 常用的插件

    • 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

  • 相关阅读:
    2019-2020-1 20175320 《信息安全系统设计基础》第五周学习总结
    2019-2020-1 20175320 《信息安全系统设计基础》第四周学习总结
    2019-2020-1 20175320 《信息安全系统设计基础》第三周学习总结
    2018-2019-2 20175320实验五《网络编程与安全》实验报告
    20175320个人项目-趣味自然数
    MySort
    2018-2019-2 20175320实验四《Android程序设计》实验报告
    20175320 2018-2019-2 《Java程序设计》第11周学习总结
    20175320 2018-2019-2 《Java程序设计》第10周学习总结
    2018-2019-2 20175320实验三《敏捷开发与XP实践》实验报告
  • 原文地址:https://www.cnblogs.com/springsnow/p/12030654.html
Copyright © 2020-2023  润新知