返回顶部
首页 > 资讯 > 后端开发 > Python >怎么运行Python的神器Jupyter Notebook
  • 149
分享到

怎么运行Python的神器Jupyter Notebook

2023-06-15 08:06:01 149人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍了怎么运行python的神器Jupyter Notebook,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Jupyter NotebookJupyter项目是

这篇文章主要介绍了怎么运行python的神器Jupyter Notebook,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

Jupyter Notebook

Jupyter项目是从IPython项目中分出去的,在Ipython3.x之前,他们两个是在一起发布的。在Ipython4.x之后,Jupyter作为一个单独的项目进行开发和管理。因为Jupyter不仅仅可以运行Python程序,它还可以执行其他流程编程语言的运行。

Jupyter Notebook包括三个部分,第一个部分是一个WEB应用程序,提供交互式界面,可以在交互式界面中运行相应的代码。

怎么运行Python的神器Jupyter Notebook

上图是NoteBook的交互界面,我们可以对文档进行编辑,运行等操作。

主要的功能如下:

  • 在浏览器中进行代码编辑,自动语法突出显示,缩进和制表符完成/自检功能。

  • 从浏览器执行代码的能力,并将计算结果附加到生成它们的代码上。

  • 使用诸如html,LaTeX,PNG,SVG等富媒体表示来显示计算结果。例如,可以内嵌包含matplotlib库渲染的具有出版质量的图形。

  • 使用markdown标记语言在浏览器中对富文本进行的编辑(可以为代码提供注释)不仅限于纯文本。

  • 使用LaTeX轻松在markdown单元中包含数学符号的能力,并由MathJax本地呈现。

第二个部分就是NoteBook的文档了,这个文档存储了要运行的代码和一些描述信息。一般这个文档是以.ipynb的后缀进行存储的。

notebook文档是以JSON的形式存储的,并用base64进行编码。使用json的好处就是可以在不同的服务器中方便的进行数据的交互。

Notebook documents中除了可运行的代码文件,还可以存储说明等解释性内容,从而将代码和解释内容完美结合,尤其适合做学习笔记使用。

笔记本可以通过nbconvert命令导出为多种静态格式,包括HTML,reStructuredText,LaTeX,pdf等多种格式。

另外文档还可以方便的在网络上进行共享。

第三个部分就是代码运行的核心Kernels,通过不同的Kernels搭配,notebook可以支持运行多种程序。比如:Python,java,Go,R,ruby,nodejs等等。

这些Kernels和notebook之间是以Json的形式通过MQ来进行通信的。

启动notebook server

有了文档之后,如果我们想要运行文档,需要启动notebook server。

jupyter notebook

默认情况下会开启下面的URL: Http://127.0.0.1:8888

启动的时候还可指定要打开的.ipynb文件:

jupyter notebook my_notebook.ipynb

具体的notebook界面的操作这里就不多介绍了,基本上和普通的编译器差不多。大家可以自行探索。

notebook document 的结构

notebook中包含了多个cells,每个cell中包含了多行文本输入字段,可以通过Shift-Enter 或者工具栏中的播放按钮来执行其中的代码。

这里的cell有三种类型,分别是code cells,markdown cells和raw cells。

code cells

代码单元允许您编辑和编写新代码,并突出显示完整的语法和制表符。 您使用的编程语言取决于内核,默认内核(IPython)运行Python代码。

执行代码单元时,它包含的代码将发送到与笔记本关联的内核。 然后,从该计算返回的结果将在笔记本中显示为单元格的输出。 输出不仅限于文本,还有许多其他可能的输出形式,包括matplotlib图形和HTML表格(例如,在pandas数据分析包中使用的表格)。

我们看一个code cells的例子:

#%%import numpy as npmy_arr = np.arange(1000000)my_list = list(range(1000000))

每个单元格是以  #%% 来进行分隔的。

Ipython本身还支持多种富文本的展示格式,包括HTML,JSON,PNG,JPEG,SVG,LaTeX等。

Ipython提供了一个display方法,我们可以使用display来展示要呈现的对象:

from IPython.display import display

display(obj) 将会寻找这个对象所有可能的展示类型,并从中挑选一个最适合的类型进行展示,并将结果存储在Notebook文档里面。

如果你想展示特定类型的对象,那么可以这样:

from IPython.display import (    display_pretty, display_html, display_jpeg,    display_png, display_json, display_latex, display_svg)

举个展示图片的例子:

from IPython.display import Imagei = Image(filename='../images/ipython_logo.png')idisplay(i)

上面的例子中i包含了一个Image对象,直接调用i即可展示,我们也可以显示的调用display(i)。

其他的富文本类型可以参考Image,使用方法都是类似的。

markdown cells

markdown是一种简介的标记语言,使用起来非常简单,使用范围非常广泛,所以notebook document也支持markdown的语法。

先看一个markdown cell的例子:

#%% md```python$ pythonPython 3.6.0 | packaged by conda-forge | (default, Jan 13 2017, 23:17:12)[GCC 4.8.2 20140120 (Red Hat 4.8.2-15)] on linuxType "help", "copyright", "credits" or "license" for more infORMation.>>> a = 5>>> print(a)5```

markdown中的语法在notebook中都是可以用的。

还支持标准的LaTeX 和 AMS-LaTeX语法。

raw cells

原始单元格提供了一个可以直接写入输出的位置。 notebook不会对原始单元格中的内容进行计算。

以模块的形式导入Jupyter Notebooks

有时候我们希望以模块的形式导入Jupyter Notebooks,但是可惜的是,Jupyter Notebooks并不是一个标准的python程序,不过Python提供了一些钩子程序,让我们能够方便的进行导入。

首先,我们需要导入一些基本的api

import io, os, sys, typesfrom IPython import get_ipythonfrom nbformat import readfrom IPython.core.interactiveshell import InteractiveShell

接下来需要注册NotebookFinder到sys.meta_path:

sys.meta_path.append(NotebookFinder())

这个NotebookFinder就是定义的钩子。

我们看下NotebookFinder的定义:

class NotebookFinder(object):    """Module finder that locates Jupyter Notebooks"""    def __init__(self):        self.loaders = {}    def find_module(self, fullname, path=None):        nb_path = find_notebook(fullname, path)        if not nb_path:            return        key = path        if path:            # lists aren't hashable            key = os.path.sep.join(path)        if key not in self.loaders:            self.loaders[key] = NotebookLoader(path)        return self.loaders[key]

里面使用了两个重要的方法,find_notebook用来找到notebook,和NotebookLoader,用来加载notebook。

看下find_notebook的定义:

def find_notebook(fullname, path=None):    """find a notebook, given its fully qualified name and an optional path    This turns "foo.bar" into "foo/bar.ipynb"    and tries turning "Foo_Bar" into "Foo Bar" if Foo_Bar    does not exist.    """    name = fullname.rsplit('.', 1)[-1]    if not path:        path = ['']    for d in path:        nb_path = os.path.join(d, name + ".ipynb")        if os.path.isfile(nb_path):            return nb_path        # let import Notebook_Name find "Notebook Name.ipynb"        nb_path = nb_path.replace("_", " ")        if os.path.isfile(nb_path):            return nb_path

看下NotebookLoader的定义:

class NotebookLoader(object):    """Module Loader for Jupyter Notebooks"""    def __init__(self, path=None):        self.shell = InteractiveShell.instance()        self.path = path    def load_module(self, fullname):        """import a notebook as a module"""        path = find_notebook(fullname, self.path)        print ("importing Jupyter notebook from %s" % path)        # load the notebook object        with io.open(path, 'r', encoding='utf-8') as f:            nb = read(f, 4)        # create the module and add it to sys.modules        # if name in sys.modules:        #    return sys.modules[name]        mod = types.ModuleType(fullname)        mod.__file__ = path        mod.__loader__ = self        mod.__dict__['get_ipython'] = get_ipython        sys.modules[fullname] = mod        # extra work to ensure that magics that would affect the user_ns        # actually affect the notebook module's ns        save_user_ns = self.shell.user_ns        self.shell.user_ns = mod.__dict__        try:          for cell in nb.cells:            if cell.cell_type == 'code':                # transform the input to executable Python                code = self.shell.input_transformer_manager.transform_cell(cell.source)                # run the code in themodule                exec(code, mod.__dict__)        finally:            self.shell.user_ns = save_user_ns        return mod

有了他们,我们就可以直接import我们自己编写的notebook了。

感谢你能够认真阅读完这篇文章,希望小编分享的“怎么运行Python的神器Jupyter Notebook”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网Python频道,更多相关知识等着你来学习!

--结束END--

本文标题: 怎么运行Python的神器Jupyter Notebook

本文链接: https://lsjlt.com/news/279031.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么运行Python的神器Jupyter Notebook
    这篇文章主要介绍了怎么运行Python的神器Jupyter Notebook,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Jupyter NotebookJupyter项目是...
    99+
    2023-06-15
  • 详解运行Python的神器Jupyter Notebook
    目录Jupyter Notebook启动notebook servernotebook document 的结构code cellsmarkdown cellsraw cells以模块的形式导入Jupyter Not...
    99+
    2022-06-02
    python jupyter notebook
  • 怎么在终端运行 Jupyter Notebook
    本篇内容介绍了“怎么在终端运行 Jupyter Notebook ”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有...
    99+
    2024-04-02
  • Jupyter Notebook运行JavaScript的方法
    后面也加了怎么在 VSC 中使用 Jupyter Notebook…… 安装 Anaconda 安装部分我是直接使用 Anaconda 安装的,这个下载 msi 就可以了,没有什么难...
    99+
    2024-04-02
  • 怎么安装运行和连接Jupyter Notebook
    这篇文章主要介绍了怎么安装运行和连接Jupyter Notebook,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Jupyter Notebook是一个开源的交互式Web应用...
    99+
    2023-06-04
  • Jupyter notebook中怎么添加Pytorch运行环境
    这篇文章主要介绍“Jupyter notebook中怎么添加Pytorch运行环境”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Jupyter notebook中怎么添加Pyto...
    99+
    2023-07-05
  • 解决服务器运行jupyter notebook方法
    目录服务器运行jupyter notebook虚拟环境然后关防火墙打开jupyter notebook 打开浏览器,跑起来 也可以将服务器换成本地的,建立一个隧道 本地打开没问题今天...
    99+
    2024-04-02
  • 怎么用Jupyter Notebook教Python
    本篇内容主要讲解“怎么用Jupyter Notebook教Python”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Jupyter Notebook教Python”吧!首先,需要一些“胶布...
    99+
    2023-06-16
  • Jupyter Notebook如何运行不同的编程语言
    这篇文章给大家分享的是有关Jupyter Notebook如何运行不同的编程语言的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。运行不同的编程语言Jupyter notebook还...
    99+
    2024-04-02
  • Jupyter notebook运行后打不开网页的问题解决
    前言:         最近正在上一门Python数据处理的课程,要用到Jupyter,于是就先安装了anaconda,当我正准备运行Jupy...
    99+
    2024-04-02
  • jupyter notebook无法打开和运行代码问题的总结
            为了更有利于学习Python,需要对jupyter notebook有一定的了解,下面主要总结了个人在学习过程中遇到的问题。 目录 一、Anaconda的安装和解决打不开jupyter notebook问题 二、jupyte...
    99+
    2023-09-09
    python
  • anaconda调用jupyter notebook无法跳转浏览器+代码不运行
    碎碎念:刚刚准备用anaconda内置的jupyte notebook学习python就遭遇如此滑铁卢,整了一个下午加晚上。风倦了云知道,我倦了谁知道。幸好有大佬们的博文,感恩的心感谢有你。 一、jupyter notebook无法跳转浏览...
    99+
    2023-09-27
    jupyter python
  • pycharm中怎么运行jupyter
    在 pycharm 中运行 jupyter 笔记本的步骤:安装 jupyter 插件创建或打开 jupyter 笔记本打开 jupyter 控制台选中并按 shift + enter 或...
    99+
    2024-04-25
    pycharm 排列
  • 怎么远程使用服务器上的Jupyter notebook
    本文小编为大家详细介绍“怎么远程使用服务器上的Jupyter notebook”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么远程使用服务器上的Jupyter notebook”文章能帮助大家解决疑惑,下面跟着小编的...
    99+
    2023-07-05
  • jupyter notebook 自定义python解释器的过程详解
    目录jupyter notebook 自定义python解释器设置自定义python解释器解决吧jupyter notebook 自定义python解释器 jupyter noteb...
    99+
    2024-04-02
  • 怎么在启动Jupyter Notebook时自动执行一段代码
    本篇内容主要讲解“怎么在启动Jupyter Notebook时自动执行一段代码”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么在启动Jupyter Notebook时自动执行一段代码”吧!在我...
    99+
    2023-06-16
  • 【Python】Jupyter Notebook无法运行代码,且提示error和自动保存失败时如何操作?
    文章目录 一、报错情形二、深层原因三、解决方案 Anaconda的Jupyter Notebook作为优秀的网页编辑器,非常适用于编写Python程序,但往往可能因安装版本不兼容等原因而无...
    99+
    2023-09-02
    python jupyter 开发语言
  • 怎么在Docker中运行Jupyter/Spark/Mesos服务
    本篇内容介绍了“怎么在Docker中运行Jupyter/Spark/Mesos服务”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在Docke...
    99+
    2023-06-19
  • 怎么解决Jupyter Notebook中文不能显示的问题
    小编给大家分享一下怎么解决Jupyter Notebook中文不能显示的问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1、为什么不显示中文:Matplotlib默认不支持中文字符,因为默认的英文字体无法显示汉字。图片显...
    99+
    2023-06-14
  • Python怎么运行_Python运行教程
    1、首先在pycharm中点击【文件】-【打开】,选择py文件并确定。 2、然后在菜单栏中点击【运行】-【运行】,或选择右侧快捷运行按钮,或在文件注释栏选择运行按钮。 3、最后在底部...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作