当前位置: 首页 > news >正文

从零开始安装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胜在简单明了,有时候写一个简单的脚本验证,用它就够了。欢迎同学们加关注,留言或私信交流,一起学习,做更赞的自己~~

相关文章:

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

前言 随着人工智能热浪(机器学习、深度学习、卷积神经网络、强化学习、AGC以及大语言模型LLM, 真的是一浪又一浪)的兴起,小伙伴们Python学习的热情达到了空前的高度。当我20年前接触Python的时候,做梦也没有想到Python会发展得怎么…...

数据库魔法:SQL Server中自定义分区函数的奥秘

数据库魔法:SQL Server中自定义分区函数的奥秘 在SQL Server中,分区表是管理大型表和提高查询性能的强大工具。分区函数和分区方案允许你根据特定的规则将数据分散到不同的文件组中。本文将深入探讨如何在SQL Server中实现数据库的自定义分区函数&#…...

网页禁止移除水印

一般的话水印分为明水印和暗水印两种 明水印的话就是在视频canvas上面蒙上一个div(如我上篇文章) ,暗水印的话就是把文字通过技术嵌入到图像里。 具体实现的话可以使用MutationObserver API 来监视 DOM 的变化,特别是针对目标节…...

Node Red 与axios简易测试环境的搭建

为了学习在vue3中如何使用axios,我借Sider Fusion的帮助搭建了基于node的简易测试环境。 Axios 是一个基于 Promise 的 HTTP 客户端,通常用于浏览器环境,但它也可以在 Node.js 环境中使用。因此,可以在 Ubuntu 的 Bash 环境下通过…...

测试面试宝典(四十三)—— 接口测试流程

回答一: 接口测试一般遵循以下流程: 需求分析 仔细研究接口的需求文档,包括接口的功能、输入输出参数、业务逻辑、性能要求等。与开发人员、产品经理等沟通,确保对需求的理解准确无误。 测试计划制定 确定测试的目标、范围和策略。…...

arkhamintelligence 请求头加密 X-Payload 完整逆向分析+自动化解决方案

大家好!我是爱摸鱼的小鸿,关注我,收看每期的编程干货。 逆向是爬虫工程师进阶必备技能,当我们遇到一个问题时可能会有多种解决途径,而如何做出最高效的抉择又需要经验的积累。本期文章将以实战的方式,带你详细地逆向分析 arkhamintelligence 请求头加密字段 X-Payload 的…...

Vue Router哈希模式和历史模式

Vue官方文档 哈希模式(hash mode) 特点 URL 格式:使用 # 符号分隔路径,哈希值之后的部分由客户端解析。 https://example.com/#/about无需服务器配置:哈希值部分不会被发送到服务器,因此不需要额外的服…...

Springboot实战:AI大模型+亮数据代理助力短视频时代

目录 前言1.如何入门亮数据1.1、注册登录1.2、注册账号1.3、登录1.4、购买静态住宅代理1.5、展示购买的代理 2. 使用Springboot、AI大模型构建系统2.1 使用Springboot、AI大模型构建爬虫2.2、在Springboot项目添加工具 3、编写代码,爬取视频素材3.1、代码里使用代理…...

Postman请求问题 connect ECONNREFUSED 127.0.0.1:80解决方法

问题描述: 解决方法: (1)点击file-settings (2)点击Proxy,并将右边的Use the system proxy 取消选中 (3)勾选use custom proxy configuration 这个8080是默认的&#xf…...

维护SQL Server数据库索引:保持性能的黄金法则

维护SQL Server数据库索引:保持性能的黄金法则 在SQL Server中,数据库索引是优化查询性能的关键工具。然而,随着数据的不断变化,索引可能会变得碎片化或过时,从而降低数据库性能。因此,定期维护索引是确保…...

nvm管理node版本问题处理集合

windows上通过nvm管理node版本,通过nvm安装node,报错了,信息: > Could not retrieve https://nodejs.org/dist/latest/SHASUMS256.txt. Get > https://nodejs.org/dist/latest/SHASUMS256.txt: dial tcp 104.20.23.46:443: …...

word打印---doc转html后进行打印,window.print、print-js、vue-print-nb

提示&#xff1a;word预览方式—插件 文章目录 [TOC](文章目录) 前言一、vue-office-docx把docx转换html二、调取window.print三、print-js四、vue-print-nb总结 前言 word预览 一、vue-office-docx把docx转换html npm install vue-office-docx -S-DofficeDocx.vue <templ…...

CTF学习笔记汇总(非常详细)零基础入门到精通,收藏这一篇就够了

CTF学习笔记汇总 Part.01 Web 01 SSRF 主要攻击方式如下&#xff1a; 01 对外网、服务器所在内网、本地进行端口扫描&#xff0c;获取一些服务的banner信息。 02 攻击运行在内网或本地的应用程序。 03 对内网Web应用进行指纹识别&#xff0c;识别企业内部的资产信息。 …...

如果想不明白,那就读书吧

人生起伏是常态&#xff0c;平平淡淡的日子亦是常态&#xff0c;但是在常态中的普通人往往面对着各种各样的风险和挑战&#xff0c;稍有不慎&#xff0c;生活天翻地覆。 回到现在这家公司是一次吃回头草的过程&#xff0c;其中亦是一次生活的坎坷&#xff0c;祸福相伴。来公司…...

Golang处理Word文档模板实现标签填充|表格插入|图标绘制和插入|删除段落|删除标签

本教程主要实现【Golang处理Word文档模板实现标签填充|表格插入|图标绘制和插入|删除段落|删除标签】。 本文源码&#xff1a;https://gitee.com/songfayuan/go-zero-demo 教程源码分支&#xff1a;master 分支&#xff08;_examples/word-template/fill-word-template.go&…...

PHP学习:PHP基础

以.php作为后缀结尾的文件&#xff0c;由服务器解析和运行的语言。 一、语法 PHP 脚本可以放在文档中的任何位置。 PHP 脚本以 <?php 开始&#xff0c;以 ?> 结束。 <!DOCTYPE html> <html> <body><h1>My first PHP page</h1><?php …...

Xinstall新玩法:Web直接打开App,用户体验再升级!

在移动互联网时代&#xff0c;App已成为我们日常生活中不可或缺的一部分。然而&#xff0c;在App推广和运营过程中&#xff0c;许多开发者面临着从Web端引流到App的难题。这时&#xff0c;Xinstall作为国内专业的App全渠道统计服务商&#xff0c;提供了一种创新的解决方案——通…...

perf 排查高延迟

高延迟的 2 个场景&#xff0c;触发 perf 录包思路 当前 perf 没有常驻内存&#xff0c;后续提供 perf 常驻内存功能。且 perf 启动需要 0.5~1s&#xff0c;所以&#xff0c;存在 2 个场景 1.频繁连续高延迟&#xff08;复现后的几秒内&#xff0c;继续频繁复现&#xff09;&a…...

配置8188eu无线网卡的热点模式

下载驱动 github:8188eu的最新驱动&#xff0c;注意下载5.2.2.4分支 关于这一驱动&#xff0c;不要下载master分支&#xff0c;master分支代码较早&#xff0c;会导致以下两点问题&#xff1a; 1.STA模式下连接wifi信号较差时会卡死 2.无法启动AP模式 所以请务必下载5.2.2.4分…...

为什么 DDoS 攻击偏爱使用 TCP 和 UDP 包?

Distributed Denial of Service (DDoS) 攻击是指攻击者利用多个计算机系统或网络设备&#xff08;通常是被恶意软件感染的计算机&#xff0c;被称为“僵尸网络”&#xff09;来淹没目标服务器的资源&#xff0c;导致合法用户无法访问服务。TCP 和 UDP 是两种最常见的用于 DDoS …...

快速部署:在星图AI平台训练PETRV2-BEV模型,支持NuScenes数据集

快速部署&#xff1a;在星图AI平台训练PETRV2-BEV模型&#xff0c;支持NuScenes数据集 1. 环境准备与快速部署 1.1 激活Paddle3D环境 首先需要确保已经创建并激活了Paddle3D的conda环境&#xff1a; conda activate paddle3d_env如果尚未创建该环境&#xff0c;建议先安装M…...

解决插件管理痛点:Scarab的智能高效管理方案

解决插件管理痛点&#xff1a;Scarab的智能高效管理方案 【免费下载链接】Scarab An installer for Hollow Knight mods written in Avalonia. 项目地址: https://gitcode.com/gh_mirrors/sc/Scarab 你是否曾为部署一个心仪的游戏插件而耗费整个下午&#xff1f;好不容易…...

LaTeX参考文献报错全解析:从\citation到\bibdata的避坑指南

LaTeX参考文献报错全解析&#xff1a;从\citation到\bibdata的避坑指南 当你熬夜赶论文时&#xff0c;突然在编译LaTeX文档时看到一串红色报错&#xff1a;"I found no \bibstyle command"、"I found no \bibdata command"、"I found no \citation co…...

MediaPipe Pose镜像测评:高精度姿态估计,舞蹈健身场景实测

MediaPipe Pose镜像测评&#xff1a;高精度姿态估计&#xff0c;舞蹈健身场景实测 1. 引言&#xff1a;为什么选择MediaPipe Pose进行姿态估计 在计算机视觉领域&#xff0c;人体姿态估计技术正变得越来越重要。从健身指导到舞蹈教学&#xff0c;从虚拟试衣到安防监控&#x…...

enwork

英语口语考试(Oral English Test)作业要求Choose a topic to make an in-depth oral presentation, your topic shall be closely related to your major, your job or any project you have worked on. take a 5-minute video and submit by the 29th of March, 2026.作业提交…...

ChatGPT越狱指令最新版:原理剖析与安全实践指南

ChatGPT越狱指令最新版&#xff1a;原理剖析与安全实践指南 最近在AI开发者圈子里&#xff0c;关于大语言模型“越狱”的话题又热了起来。所谓“越狱”&#xff0c;就是指通过各种技巧绕过模型内置的安全限制&#xff0c;让它回答一些原本被禁止的问题。作为开发者&#xff0c;…...

ChatTTS 量化模型实战:如何实现高效AI语音合成与部署优化

最近在做一个需要实时语音合成的项目&#xff0c;用上了开源的ChatTTS模型。效果是真不错&#xff0c;但一上生产环境就傻眼了——模型又大又慢&#xff0c;服务器成本蹭蹭往上涨。为了解决这个问题&#xff0c;我花了不少时间研究模型量化&#xff0c;总算把推理速度提上来了&…...

基于CosyVoice与Docker的AI辅助开发实战:从模型部署到生产环境优化

最近在搞一个AI语音合成的项目&#xff0c;用到了CosyVoice这个不错的TTS模型。但在部署环节&#xff0c;真是踩了不少坑&#xff0c;从开发机到测试服务器&#xff0c;再到生产环境&#xff0c;各种Python版本、CUDA版本、依赖库冲突的问题层出不穷&#xff0c;让人头疼。后来…...

MOS管技术详解:从基础到工程应用

MOS管技术详解&#xff1a;从基础原理到工程应用1. MOS管基础概念与分类1.1 场效应管基本类型场效应管(FET)主要分为两大类型&#xff1a;结型场效应管(JFET)&#xff1a;Junction Field-Effect Transistor金属氧化物半导体场效应管(MOSFET)&#xff1a;Metal-Oxide-Semiconduc…...

【2026年小红书春招- 3月25日 -第一题- 数据库】(题目+思路+JavaC++Python解析+在线测试)

题目内容 小红书数据库中有用户编号、用户名称和用户经验三个字段,其中: 用户编号为 111 到 10910^910...