python中jupyter notebook安装教程、常用插件和拓展配置及基本使用(全面)

2023-11-16

揭秘Jupyter内核

Jupyter Notebook是基于网页的用于交互计算的应用程序。其可被应用于全过程计算:开发、文档编写、运行代码和展示结果。代码可边编写边运行,编程时具有语法高亮缩进tab补全的功能。可直接通过浏览器运行代码,同时在代码块下方展示运行结果。 以富媒体格式展示计算结果。富媒体格式包括:HTML,LaTeX等。 对代码编写说明文档或语句时,支持Markdown语法,方便记录笔记和查看。
Jupyter官网

1. jupyter安装

Cmd或者Pycharm终端运行,python版本建议3.8及以下。
使用如下命令打开jupyter notebook

使用命令安装
conda install jupyter
或者
pip install jupyter

您可以通过运行以下命令从命令行(Mac/Linux 上的终端,Windows 上的 CMD 提示符)启动笔记本服务器。这将在终端中打印有关笔记本服务器的一些信息,包括 Web 应用程序的 URL(默认情况下为 http://localhost:8888/)。

jupyter notebook

在这里插入图片描述

2. jupyter常用插件配置

注意:以下安装后打开没有对应扩展,检查一下jupyter安装的环境和插件所在的环境及当前运行的环境是否一致!!!

2.1 Jupyter Notebook和conda的环境和包管理工具nb_conda

#安装
conda install nb_conda
#卸载
canda remove nb_conda

nb_conda拓展可查看当前jupyter notebook所使用的环境及对应的包,同时可创建环境,升级、删除包、安装新的包。

image-20220808094923722

2.2 Jupyter Notebook扩展jupyter_contrib_nbextensions(常用10个拓展,提升效率)

1.#安装
conda install -c conda-forge jupyter_contrib_nbextensions
#或者
pip install jupyter_contrib_nbextensions
2.设置
jupyter contrib nbextension install --user

安装完成后打开jupyter notebook 可以看到有飞常多的可用软件包。下面介绍常用的几个扩展,勾选对应的扩展即可启用。

image-20220808101130126

  • **Autopep8或者Code prettify 格式化代码:**选中需要格式化的cell,点击工具栏右边的小锤子就可以实现代码格式化,可Ctrl+A全选。

    img

  • Toggle all line numbers 关闭/开启代码行号:显示或关闭代码前的行号。
    在这里插入图片描述

  • Table of Contents 侧边栏展示目录(自动编号):可以收集所有正在运行的标题,并将它们显示为浮动窗口,作为侧边栏或导航菜单。该扩展程序还具有可拖动,可调整大小,可折叠,可停靠的功能,并具有具有唯一链接ID和可选toc单元格的自动计数功能。当前选定/编辑或正在运行的单元格的各个部分在目录中突出显示。一些小的diplay调整也可用(移动标题磁贴/菜单,加宽单元格);最后,在导出到 html 时可以保留目录。

在这里插入图片描述

img

  • Collapsible Headings 折叠标题:允许笔记本有可折叠的部分,由标题分隔。 任何 Markdown 标题单元格(即以 1-6 # 个字符开头的单元格)在渲染后都可以折叠。在这里插入图片描述
    screenshot

  • Variable Inspector 显示变量信息:可以显示代码中的变量信息,方便调试。

    img

  • Hide code 隐藏代码:隐藏所有代码块

    Hide input all icon

  • **Snippets 代码片段:**快速添加代码,减少工作量。

    img

  • Hinterland 代码自动补全:自动补全代码。
    在这里插入图片描述

  • ExecuteTime :显示单元格何时完成以及花费多长时间
    在这里插入图片描述

  • Codefolding 代码折叠:折叠代码块,对于长的代码或方法非常方便。

    Unfolded

2.3 jupyter内核管理ipykernel,方便切换运行环境

通常会遇到不同的虚拟环境(或许具有相同的Python版本但安装的包不同),在Jupyter Notebook中无法切换,即“New”的下拉菜单中无法使用需要的环境。所以需要安装ipykernel

#ipykernel安装
python -m pip install ipykernel
#添加内核
python -m ipykernel install --user --name=kernelname  --display-name showname
#其中,kernelname为创建的文件夹名,showname为在Jupyter notebook展示的内核名
#查看kernel列表
jupyter kernelspec list 
#删除“name”这个内核
jupyter kernelspec remove name 

在创建notebook的可选择环境。

image-20220808111904230

在打开的notebook中切换环境。

image-20220808112028306

3. jupyter 基本使用

官方详细使用教程:Jupyter Notebook Viewer (nbviewer.org)

3.1 基本界面

点击help下的User Interface Tour 可查看界面导览,方便快速入门,按左右键切换,Esc退出。

image-20220808123619215

image-20220808123717767

更多可参考:[Jupyter Notebook 基本操作](https://nbviewer.org/github/ipython/ipython/blob/3.x/examples/Notebook/Notebook Basics.ipynb)

3.2 常用快捷键

在这里插入图片描述

在打开的notebook文件后按下字母H键,可以看到所有快捷命令。

image-20220808113211834

快捷键分为命令行模式和编辑模式。

image-20220808122136103

image-20220808122205473

命令行模式常用快捷键

在这里插入图片描述

在这里插入图片描述

编辑模式常用快捷键

image-20220808123114891

3.3 jupyter notebook 导出其他格式

操作步骤

在这里插入图片描述

导出后可能会出现错误,因为没有安装导出所需要的工具包。

image-20220808231751859

解决方法:安装 nbconvert和配套的包

参考官方教程:Installation — nbconvert 7.0.0rc3 documentation

例如:导出PDF需要安装 nbconvert 和MikTeX(因为 nbconvert 依赖于标准 TeX 发行版中包含的包和字体,如果您没有完整的安装,您可能无法使用 nbconvert 的标准工具将笔记本转换为 PDF。)

可能操作比较麻烦,这里介绍其它两种导出PDF的方法:

欢迎关注个人公众号【智能建造小硕】(分享计算机编程、人工智能、智能建造、日常学习和科研经验等,欢迎大家关注交流。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python中jupyter notebook安装教程、常用插件和拓展配置及基本使用(全面) 的相关文章

  • 通过 boto3 承担 IAM 用户角色时访问被拒绝

    Issue 我有一个 IAM 用户和一个 IAM 角色 我正在尝试将 IAM 用户配置为有权使用 STS 承担 IAM 角色 我不确定为什么收到 访问被拒绝 错误 Details IAM 角色 arn aws iam 123456789 r
  • Flask中使用的路由装饰器是如何工作的

    我熟悉 Python 装饰器的基础知识 但是我不明白这个用于 Flask 路由的特定装饰器是如何工作的 以下是 Flask 网站上的代码片段 from flask import Flask escape request app Flask
  • ValueError:请使用“Layer”实例初始化“TimeDistributed”层

    我正在尝试构建一个可以在音频和视频样本上进行训练的模型 但出现此错误ValueError Please initialize TimeDistributed layer with a Layer instance You passed Te
  • 如何删除 PyCharm 中的项目?

    如果我关闭一个项目 然后删除该项目文件夹 则在 PyCharm 重新启动后 会再次创建一个空的项目文件夹 只需按顺序执行以下步骤即可 他们假设您当前在 PyCharm 窗口中打开了该项目 单击 文件 gt 关闭项目 关闭项目 在 PyCha
  • 如何为未捕获的异常处理程序编写单元测试

    我有一个函数可以捕获uncaught例外情况 如下 有没有办法编写一个单元测试来执行uncaught exception handler 功能正常 但测试正常退出 import logging def config logger logge
  • python array(10,1) 和 array(10,) 之间的区别

    我正在尝试将 MNIST 数据集加载到数组中 当我使用 X train y train X test y test mnist load data 我得到一个数组 y test 10000 但我希望它的形状为 10000 1 数组 1000
  • 使用 Pytest 的参数化添加测试功能的描述

    当其中一个测试失败时 可以在测试正在测试的内容的参数化中添加描述 快速了解测试失败的原因 有时您不知道测试失败的原因 您必须查看代码 通过每个测试的描述 您就可以知道 例如 pytest mark parametrize num1 num2
  • numpy:高效执行数组的复杂重塑

    我正在将供应商提供的大型二进制数组读入 2D numpy 数组 tempfid M N load data data numpy fromfile file dirname fid dtype numpy dtype i4 convert
  • python celery -A 的无效值无法加载应用程序

    我有一个以下项目目录 azima init py main py tasks py task py from main import app app task def add x y return x y app task def mul
  • 如何在 Python 中的函数入口、内部和退出处进行日志记录

    我希望能够使用 Python 日志记录工具在我的代码中进行简单且一致的日志记录 我能够执行以下操作 我希望所有现有 未来的模块和函数都有 输入 和 完成 日志消息 我不想添加相同的代码片段来定义日志记录参数 如下所示don t want t
  • python 中的 h2o 框架子集

    如何在 python 中对 h2o 框架进行子集化 如果 x 是一个 df 并且 Origin 是一个变量 那么在 pandas 中我们通常可以通过以下方式进行子集化 x x Origin AAF 但使用 h2o 框架会出现以下错误 H2O
  • App Engine 实体到字典

    将 google app engine 实体 在 python 中 复制到字典对象的好方法是什么 我正在使用 db Expando 对象 所有属性均为扩展属性 Thanks 有一个名为foo尝试 foo dict
  • 使用seaborn绘制简单线图

    我正在尝试使用seaborn python 绘制ROC曲线 对于 matplotlib 我只需使用该函数plot plt plot one minus specificity sensitivity bs where one minus s
  • 使用 suds SOAP 库进行 HTTP 身份验证的奇怪行为

    我有一个正在运行的 python 程序 它使用 suds 通过 SOAP 获取大量数据 Web服务是通过分页功能实现的 这样我就可以抓取nnn每个 fetch 调用的行并获取下一个nnn与后续的电话 如果我使用如下代码向 HTTP 服务器进
  • Python守护进程:保持日志记录

    我有一个将一些数据记录到磁盘的脚本 logging basicConfig filename davis debug log level logging DEBUG logging basicConfig filename davis er
  • 使用 selenium 和 python 来提取 javascript 生成的 HTML?萤火虫?

    这里是Python新手 我遇到的是数据收集问题 我在这个网站上 当我用 Firebug 检查我想要的元素时 它显示了包含我需要的信息的源 然而常规源代码 没有 Firebug 不会给我这个信息 这意味着我也无法通过正常的 selenium
  • numpy polyfit 中使用的权重值是多少以及拟合误差是多少

    我正在尝试对 numpy 中的某些数据进行线性拟合 Ex 其中 w 是该值的样本数 即对于点 x 0 y 0 我只有 1 个测量值 该测量值是2 2 但对于这一点 1 1 我有 2 个测量值 值为3 5 x np array 0 1 2 3
  • 在 numpy 中连接维度

    我有x 1 2 3 4 5 6 7 8 9 10 11 12 shape 2 2 3 I want 1 2 3 4 5 6 7 8 9 10 11 12 shape 2 6 也就是说 我想连接中间维度的所有项目 在这种特殊情况下我可以得到这
  • 寻找完美的正方形

    我有这个Python代码 def sqrt x ans 0 if x gt 0 while ans ans lt x ans ans 1 if ans ans x print x is not a perfect square return
  • Python 中的 Unix cat 函数 (cat * > merged.txt)? [复制]

    这个问题在这里已经有答案了 一旦建立了目录 有没有办法在Python中使用Unix中的cat函数或类似的函数 我想将 files 1 3 合并到 merged txt 我通常会在 Unix 中找到该目录 然后运行 cat gt merged

随机推荐

  • 贪吃蛇的初步尝试

    1 首先让贪吃蛇动起来 每输入一个方向字符 然后贪吃蛇朝那个方向移动一格 用 kbhit 函数可以让它朝一个方向一直移动 但那速度极快 于是用 speed 函数调整它的速度 达到每秒移动一格的效果 每一步的移动都用一个 for 循环实现 让
  • 学习如何使用最强大的 JavaScript 函数

    今天你将学习如何使用 最强大的 JavaScript函数 数组归约 Array reduce是最强大的 JavaScript Function 时期 reduce有什么作用 为何如此强大 这是reduce的技术定义 Array protot
  • Mybatis高性能批量插入方法

    当使用Mybatis大量插入时可以利用MySQL语句的特性使原来多次请求插入的语句变成一次请求 以此提高插入效率 一般的插入方式 1000条数据 一条一条的插入 Test public void testInsert SqlSession
  • 【rust/egui】(十)使用painter绘制一些图形—connections

    说在前面 rust新手 egui没啥找到啥教程 这里自己记录下学习过程 环境 windows11 22H2 rust版本 rustc 1 71 1 egui版本 0 22 0 eframe版本 0 22 0 上一篇 这里 绘制连接 在上一节
  • Invalid attempt to spread non-iterable instance

    这一类错误大概率是你的延展运算符附近除了错误 比如我的就是应为在一个对象前面用了延展运算符 我将数组的中括号写成了大括号 就报了这个错误
  • Mac 系统的 MySQL 如何修改密码(保姆级别教程)

    要修改 Mac 系统上的 MySQL 密码 可以按照以下步骤进行 打开终端 以管理员身份登录到 MySQL 服务器 sudo mysql u root p 输入管理员密码 切换到 MySQL 数据库 use mysql 查看当前用户列表 s
  • 记录的Android开发过程中遇到的问题。

    180508 更新 网上下载demo 本地studio版本和demo版本不一致处理方式 修改两处 1 项目的build gradle 里面classpath 2修改项目目录下 gradle gt wrapper gt gradle wrap
  • openpcdet验证已训练好权重文件

    python tools test py cfg file 配置文件路径 ckpt dir 权重文件所在文件夹路径 eval all
  • Java静态修饰符static

    1 Satic注意事项 1 Static修饰的方法可以被类调用或者直接使用 而未被static修饰的方法是实例方法 属于对象的 必须用对象调用 2 类在方法区 方法在栈内存 对象在堆内存 3 静态只能访问静态 不能访问实例 实例可以访问静态
  • windows7的5次shift实验

    原理 在win7的登录界面连续按5次shift键会弹出程序c windows system32 sethc exe 在开启win7时会出现正常登录和尝试修复 在尝试修复界面利用txt文本打开C盘 修改cmd exe为sethc exe 并将
  • FastDFS文件同步机制简介

    FastDFS文件同步机制简介 本篇文章转载于FastDFS作者 余庆 大佬的 FastDFS分享与交流 公众号 FastDFS 文件同步采用 binlog 异步复制方式 storage server 使用 binlog 文件记录文件上传
  • c语言警告文件末尾没有换行符,关于c ++:“文件末尾没有换行符”警告,即使在换行后也是如此...

    我最近一直在努力学习C 直到今天一直都很顺利 我正在尝试创建一个非常简单的应用程序 它基本上只是要求用户输入一个数字 然后显示该数字的阶乘 当我尝试在Cygwin中编译文件 g factorial cpp o fact 时 我收到以下警告
  • 微信小程序触底加载scroll-view

    微信小程序触底加载 scroll view 了解什么是触底加载 需求 有个固定高度的容器 实现容器里面的内容触底加载 1 内容盒子的高度 2 盒子里内容的总高度 3 滚动条的scrollTop 触底加载的原理就是 当里面的容器触底的时候进行
  • CPU核心数,线程数,时间片轮转机制解读

    CPU的核心数 CPU个数 是指物理上 即硬件上的核心数 核心数 是逻辑上的 简单理解为逻辑上模拟出的核心数 线程数 是同一时刻设备能并行执行的程序个数 线程数 cpu个数 核数 区分CPU线程数与JAVA多线程的概念 CPU线程数 在CP
  • 计算机的计算单位

    容量单位 在物理层面 高低电平记录信息 理论上只认识0 1两种状态 0 1能够表示的内容太少了 需要更大的容量表示方法 0 1称为bit 比特位 字节 1Byte 8bits 硬盘商一般使用10进位标记容量 500G一般格式化后只剩465G
  • Postgresql ODBC驱动,用sqlserver添加dblink跨库访问postgresql数据库

    在同样是SQLserver数据库跨库访问时 只需要以下方法 declare rowcount int set rowcount 0 set rowcount select COUNT from sys servers where name
  • APP自动化测试-7.移动端web app自动化测试

    APP自动化测试 7 移动端纯web应用测试 文章目录 APP自动化测试 7 移动端纯web应用测试 前言 一 移动端应用分类简述 二 web app基础配置 1 基础信息获取 2 驱动配置 3 启动 三 元素定位 总结 前言 移动端应用细
  • 在虚拟机上ifconfig结果中eth0没有IP地址(inet4)而是显示的是inet6

    问题描述 在虚拟机上执行ifconfig 结果中eth0没有显示IP地址inet4 而是显示inet6 出现原因 虚拟机上没有连接网络 解决方法 启动网卡 执行命令 ifup eth0 衍生问题 当执行上述命令时 却报如下错误 some o
  • 小程序工作学习:值的传递与操作以及target,options区别

    最近做小程序相关的东 学艺不精原理不了解 在前端界面的问题上遇到很多问题 好在在别人的帮助下以及在查资料补漏过程中还是有点收获的 问题 一 关于请求中如何能把这个页面的一下参数传递给下一页面 不能总是重复调用接口访问后台 这样的话影响加载页
  • python中jupyter notebook安装教程、常用插件和拓展配置及基本使用(全面)

    文章目录 1 jupyter安装 2 jupyter常用插件配置 2 1 Jupyter Notebook和conda的环境和包管理工具nb conda 2 2 Jupyter Notebook扩展jupyter contrib nbext