从零开始安装Jupyter Notebook和Jupyter Lab图文教程

前言

随着人工智能热浪(机器学习、深度学习、卷积神经网络、强化学习、AGC以及大语言模型LLM, 真的是一浪又一浪)的兴起,小伙伴们Python学习的热情达到了空前的高度。当我20年前接触Python的时候,做梦也没有想到Python会发展得怎么好。那时候大家对于Python的溢美之词无非是说它很优雅,很可爱,是一门胶水语言。把思绪拉回到今天,Python不仅仅是胶水语言,它更是捞金语言

Python这门语言,简单易学,上手入门并不难。而且现在的包管理方面做得很优秀,生态建设也做得很棒。基本上不管是通用的软件开发,还是数据处理,可视化以及人工智能方面的算法,你都可以在Python生态里找到合适的轮子。pip早就取代了当年的setup tool和wheel等等,成为事实上的标准。而在众多才华横溢的工具之间,Jupyter是一个不容忽略的强者。

Jupyter介绍

Jupyter是一个强大好用的工具集,它对于初学者学习Python语言、或者探索Python语言新功能、或者实验不熟悉的包都非常适合。

Jupyter工具集主要有两个产品,一个是Jupyter Notebook, 另一个是Jupyter Lab。这两个都是交互式的计算环境,支持Python, R, Julia等等语言运行时内核。Jupyter Notebook是早期的经典产品,而Jupyter Lab是新的产品,提供了比Notebook更加强大的功能,更新颖流畅的界面。按照官方的说法,是希望Jupyter Lab来取代经典的Notebook。

安装

Jupyter Notebook和Jupyter Lab的安装都很容易,按照官方的步骤说明安装就可以。英文好的同学可以直接奔赴这里 Project Jupyter | Installing Jupyter

我在多个环境中,包括Windows, Mac和Linux上都习惯用pip来安装,没有遇到过问题。(使用Mac的同学可以使用Homebrew,这里不多说了。)安装好Python之后,直接运行下面命令就可以安装Jupyter Notebook了。

pip install notebook

而对于Jupyter Lab也是类似的,

pip install jupyterlab

运行

运行这两个产品也很容易,在命令行中运行下面命令即可。

jupyter notebook

或者

jupyter lab

主要功能

用户与界面

先来看Notebook的界面和功能。

界面比较像传统的桌面软件,有标题栏、菜单栏、工具栏和工作区等等。工作区中最主要的部分就是被称为Cell (单元格)的部分,常见的单元格类型为代码、Markdown和原始文本。

执行代码单元

在代码单元格中能够输入代码,在工具栏上点击“运行”按钮就会执行当前选择的单元格,代码运行的结果会在下方马上显示出来。注意Jupyter跟其他的IDE相比,有一个优势就是能够重复执行任何单元格。例如上图中的第一个单元格

print("hello, jupyter notebook")

第一次执行之后,左侧中括号中会出现一个数字序号表示这个代码块在整个执行序列中是第几个。然后如果后续再执行同一个单元格,对应的序号会变。例如我修改了单元格并重新执行的结果如图所示。

因为这个特性,在Jupyter Notebook或者Lab中做一些探索,特别方便。例如,我们可以导入PyTorch的包玩玩。(前提是你安装了PyTorch)

切换核心

Jupyter是通过核心(Kernel)的概念来支持多种编程语言的。Jupyter除了支持Python(基于IPython实现)之外,还支持其他的语言,例如科学计算语言R和Julia, 也支持Scala。本人对于R语言,Julia语言不熟悉,对于Scala不感冒,所以这里不班门弄斧了。同学们可以根据自己的情况进行选择使用。

通过Kernel主菜单,可以选择重启、停止或切换核心等等。通常情况下并不需要频繁使用这些功能,但是如果万一某个执行的代码块卡住了可以使用Restart功能,相对来说比直接杀死Jupyter Server来得柔和一些。

文件管理器

通过文件管理器可以执行常见的文件管理功能,如下面图片展示。

 

终端

跟其他常见的IDE类似,Jupyter Notebook和Lab中都集成了终端,可以在终端中做一些side work。

差别

上面的主要功能在Jupyter Notebook和Jupyter Lab中都有,那么两者有什么差别呢?他们的主要差别有一下几点:

1. Notebook是一个单文档的应用,也就是以为这在一个notebook中你只能操作一个文件。而Lab是一个集成开发环境,可以通过标签页打开多个文件。

2. 单文件编辑 vs. 集成开发环境(IDE)

Jupyter Lab试图打造一个集成开发环境(IDE), 所以是以项目为中心的,多种工具都被集成进来了,例如单点调试,日志输出和查看等等。相信在未来,它会有更多优质功能出现。

总结

两个工具都很棒,如果是初学者有时间,建议直接用Jupyter Lab。反正学习难度都不大,那就用新的工具吧。Jupyter Notebook胜在简单明了,有时候写一个简单的脚本验证,用它就够了。欢迎同学们加关注,留言或私信交流,一起学习,做更赞的自己~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/389142.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Blackcat V2.2付费会员制WordPress资源站主题

Blackcat-付费会员制WordPress资源站主题,该主题是基于简约实用的主题选项框架 Codestar Framework 进行开发的功能强大的付费会员制主题,该主题尤其适合用于搭建付费下载资源网站,比如素材站、软件站、视频教程站等付费资源下载网站。 集成…

(~_~)

一、用不同url头利用python访问一个网站,并把返回的东西保存为 requests库 主要用于http发送请求和处理响应 1.发送get和post请求 requests.get(目标网址) requests.post(url,data) post于get不同的是get一般用来请求获取数据,而post相当于带着数…

Yearning-MYSQL 审计平台部署

目录 一. 环境准备 二. 部署安装 三. 基础使用 1.用户管理 2. 创建SQL审计流程 3. 自定义审核规则 4. 导入数据源 5. 创建权限组 6. 登录用户申请工单 1. 创建一个DDL工单提交 2. SQL审核执行 3. SQL执行 4. 数据验证 Yearning 是一个开源的 MySQL SQL 审计平台…

动态规划-斐波那契数列

一. 什么是动态规划 dp一般是需要前面状态的值的问题。比如,解决一个问题需要很多步骤,且步骤之间相关联,后一个步骤的推导需要前一个步骤的结论。而我们所做的就是,将这个带求解的问题分成若干步骤,将每个步骤答案保…

python 去除验证码图片噪音

在处理验证码图片时,出现噪音,如横线、像素点等问题往往会影响识别率,这里给出一个去除噪音的方法,仅供学习。 import cv2 import os import numpy as np import copydef del_noise(img, number):height img.shape[0]width img…

JavaScript模块化

JavaScript模块化 一、CommonJS规范1、在node环境下的模块化导入、导出 2、浏览器环境下使用模块化browserify编译js 二、ES6模块化规范1、在浏览器端的定义和使用2、在node环境下简单使用方式一:方式二: 3、导出数据4、导入数据5、数据引用问题 一、Com…

前端:Vue学习 - 智慧商城项目

前端:Vue学习 - 智慧商城项目 1. vue组件库 > vant-ui2. postcss插件 > vw 适配3. 路由配置4. 登录页面静态布局4.1 封装axios实例访问验证码接口4.2 vant 组件 > 轻提示4.3 短信验证倒计时4.4 登录功能4.5 响应拦截器 > 统一处理错误4.6 登录权证信息存…

Mybatis学习(2)

分页 目的:减少数据的处理量 方式一:使用limit实现分页,核心SQL sql语法:select * from user limit startIndex,pageSize; 步骤: 1、接口 2、Mapper.xml 3、测试 方式二:使用注解开发 1、…

每日一题~EC168 A+B+C+D

A 题意: 字符串 每一个字符的花费是2,如果ai-1 ai ,那么ai 的花费是1. 现在可以插入一个字符,得到最大花费。输出插入字符之后的字符串。 分析:只需要在相同的连续字符中间插入一个不同的字符就可以了。如果没有连续的相同字符&am…

Python酷库之旅-第三方库Pandas(059)

目录 一、用法精讲 226、pandas.Series.pad方法 226-1、语法 226-2、参数 226-3、功能 226-4、返回值 226-5、说明 226-6、用法 226-6-1、数据准备 226-6-2、代码示例 226-6-3、结果输出 227、pandas.Series.replace方法 227-1、语法 227-2、参数 227-3、功能 …

最强开源模型 Llama 3.1 部署推理微调实战大全

目录 引言一、Llama 3.1简介二、Llama 3.1性能评估三、Llama 3.1模型推理实战1、环境准备2、安装依赖3、模型下载4、模型推理 四、Llama 3.1模型微调实战1、数据集准备2、导入依赖包3、读取数据集4、处理数据集5、定义模型6、Lora配置7、配置训练参数8、开始Trainer训练9、合并…

什么是负责任的人工智能

「AI秘籍」系列课程: 人工智能应用数学基础人工智能Python基础人工智能基础核心知识人工智能BI核心知识人工智能CV核心知识AI 进阶:企业项目实战 可直接在橱窗里购买,或者到文末领取优惠后购买: 拥有权利的同时也被赋予了重大的…

Modbus通讯协议

Modbus通讯协议 Modbus协议是一种用于电子控制器之间的通信协议,‌它允许不同类型的设备之间进行通信,‌以便进行数据交换和控制。‌Modbus协议最初为可编程逻辑控制器(‌PLC)‌通信开发,‌现已广泛应用于工业自动化领…

详细分析nohup后台运行命令

目录 1. 基本知识2. Demo 1. 基本知识 Unix/Linux 命令,用于在后台运行程序,并确保它在用户退出或注销后继续运行 nohup 的主要作用是使程序在终端会话结束后继续运行,这对需要长时间执行的任务特别有用 基本的用法如下: nohu…

3.1 拓扑排序

有向图的存储 邻接矩阵 邻接表 拓扑排序 有向无环图:不存在环的有向图 环: 在有向图中,从一个节点出发,最终回到它自身的路径被称为环 入度: 以节点x为终点的有向边的条数被称为x的入度 出度: 以节…

哈默纳科HarmonicDrive谐波减速机的使用寿命计算

在机械传动系统中,减速机的应用无处不在,而HarmonicDrive哈默纳科谐波减速机以其独特的优势,如轻量、小型、传动效率高、减速范围广、精度高等特点,成为了众多领域的选择。然而,任何机械设备都有其使用寿命&#xff0c…

数据集成是什么意思?方法有哪些?数据集成三种方法介绍

1 数据集成是什么 数据集成(Data Intergration),也称为数据整合,是通过将分布式环境中的异构数据集成起来,为用户提供统一透明的数据访问方式。该定义中的集成是指从整体层面上维护数据的一致性,并提高对数据的利用和共享&#x…

【Redis 进阶】事务

Redis 的事务和 MySQL 的事务概念上是类似的,都是把一系列操作绑定成一组,让这一组能够批量执行。 一、Redis 的事务和 MySQL 事务的区别 1、MySQL 事务 原子性:把多个操作打包成一个整体。(要么全都做,要么都不做&am…

用 Python 编写的井字游戏

一.介绍 在本文中,我将向您展示如何使用 Python 创建一个非常简单的井字游戏。 井字游戏是一种非常简单的双人游戏。因此每次只能有两个玩家玩。该游戏也称为井字游戏或 Xs 和 Os 游戏。一个玩家玩 X,另一个玩家玩 O。在这个游戏中,我们有一…

树组件 el-tree 数据回显

树组件 el-tree 数据回显 树型结构的数据回显问题&#xff1a; 这里我只放了核心代码&#xff0c;主要是如何获取选中的树节点的id集合和如何根据树节点的id集合回显数据 大家根据需要自行更改&#xff01; <el-tree ref"authorityRef" node-key"id" …