jupyter学习笔记

简介

Jupyter Notebook是一个Web应用程序,它可以在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示。

安装使用

前提:必须安装python

先升级pip至最新版本

复制代码
pip3 install --upgrade pip

安装jupyter notebook

复制代码
pip install Jupyter notebook

获取配置文件路径(Overwrite后面即为配置文件路径),打开配置文件找到notebook_dir,取消注释并设置notebook文件的存储路径。

复制代码
jupyter notebook --generate-config

> /Users/a200007/Library/Python/3.8/lib/python/site-packages/urllib3/__init__.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'LibreSSL 2.8.3'. See: https://github.com/urllib3/urllib3/issues/3020
  warnings.warn(
> Overwrite /Users/a200007/.jupyter/jupyter_notebook_config.py with default config? [y/N]n

启动jupyter notebook

python 复制代码
jupyter notebook

[I 2024-07-19 17:00:58.604 ServerApp] Jupyter Server 2.7.0 is running at:
[I 2024-07-19 17:00:58.604 ServerApp] http://localhost:8888/tree?token=c893dc1b59d3d75e3d5dc6cc8b424e9635cef6a4595aa02a
[I 2024-07-19 17:00:58.605 ServerApp]     http://127.0.0.1:8888/tree?token=c893dc1b59d3d75e3d5dc6cc8b424e9635cef6a4595aa02a
[I 2024-07-19 17:00:58.605 ServerApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 2024-07-19 17:00:58.622 ServerApp] 
    
    To access the server, open this file in a browser:
        file:///Users/a200007/Library/Jupyter/runtime/jpserver-91321-open.html
    Or copy and paste one of these URLs:
        http://localhost:8888/tree?token=c893dc1b59d3d75e3d5dc6cc8b424e9635cef6a4595aa02a
        http://127.0.0.1:8888/tree?token=c893dc1b59d3d75e3d5dc6cc8b424e9635cef6a4595aa02a

运行完命令后,会自动打开浏览器进入jupyter主页,如下所示:

创建自己的notebook文件:

notebook操作界面如下 :

快捷键

jupyter notebook内置了一些快捷键,可以像在IDE中一样方便操作单元格。

  • Shift + Enter:运行当前单元格并移动到下一个单元格
  • Ctrl + Enter:运行当前单元格但不移动到下一个单元格
  • Alt + Enter:运行当前单元格并在下面插入一个新的单元格
  • Esc + A:在当前单元格上方插入新单元格
  • Esc + B:在当前单元格下方插入新单元格
  • Esc + M:将当前单元格转换为Markdown
  • Esc + Y:将当前单元格转换为Code
  • Esc + D + D:删除当前单元格
  • Esc + Z:撤销删除的单元格

魔术命令

%开头的命令是称为"魔术命令",用来执行一些特殊的操作,比如

  • %run:把文件当做脚本运行,文件中的变量会自动导入当前全名空间,效果和 import 相同。
  • 加载扩展: %load_ext xxx 用于加载扩展
  • 测量代码或指令的执行时间: %time cmd
  • %env: 打印当前环境变量。
  • %pwd: 打印当前工作目录。

在Jupyter Notebook中,可以使用%run魔术命令来导入其他Notebook中编写的代码。

  • 两个Notebook文件:notebook1.ipynb和notebook2.ipynb。

  • 在notebook1.ipynb代码单元格中,使用以下命令:

    python 复制代码
    # 将执行`notebook2.ipynb`中的所有代码,并将其导入到`notebook1.ipynb`中
    %run notebook2.ipynb
  • 现在notebook1.ipynb中可以使用notebook2.ipynb中定义的函数、变量或类。

shell命令

可以使用"!"符号来运行shell命令。例如,要在Jupyter中运行sqlite3命令,可以使用以下形式:

复制代码
!sqlite3

这将在Jupyter中执行pysqlite3命令并显示结果。

代码补全

nb_black: 是一个JupyterNotebook的扩展,它可以帮助你自动格式化你的代码

复制代码
pip install nb_black

为了能支持代码提示,可以安装代码补全的库:

python 复制代码
# 代码补全
pip install jupyter_contrib_nbextensions
jupyter contrib nbextensions install --user
pip install jupyter_nbextensions_configurator

安装完后需要重启才能生效。

调试代码

调试代码:pdb

复制代码
# 引入
import pdb
# 需要调试的地方加入断点
pdb.set_trace()

a.运行程序,并在pdb调试器中使用命令n(下一步)或s(步入)逐行执行代码,查看输出结果。

b.使用命令p(打印)查看变量的值,例如p variable_name。

c.使用命令c(继续)继续执行程序,直到下一个pdb.set_trace()语句或程序结束。

d.如果需要退出pdb调试器,使用命令q(退出)。

更详细的调试参考: jupyter中使用pdb调试代码

vscode中支持jupyter

jupyter插件已经被合并到python插件中,直接安装python插件即可。

安装好插件之后只需要创建.ipynb文件,就可以编辑notebook

需要安装jupyter内核

复制代码
pip3 install ipykernel

导出markdown

安装依赖库

shell 复制代码
pip install nbconvert pandoc
pip install jupyter_contrib_nbextensions

执行命令:!jupyter nbconvert --to markdown numpy_regression.ipynb

如果用的浏览器jupyter,可以通过菜单选择来导出
File->Save and export notebook as -> markdown

参考文档

相关推荐
第九序言T7 小时前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
Java后端的Ai之路7 小时前
CAS并发控制-从CPU指令到企业级乐观锁
vue.js·人工智能·python·cas·乐观锁
qq_426003967 小时前
UI自动化高频次登录login限流解决方案
python·ui·自动化
Sakura_j_h_7 小时前
EasyEDA PCB 快速设计Skills
c++·python·github
quantdash_cc8 小时前
如何验证历史行情的交易日期是否完整覆盖研究区间?
python·数据分析·pandas·量化交易·股票数据·quantdash
I Am a robert girl8 小时前
当智能体学会“串通”:从长程交互中读懂涌现式合谋
python·多智能体系统·多智能体协作·llm agent·涌现式合谋·对齐问题·激励机制设计
云和数据.ChenGuang9 小时前
光哥说Python RAG 系统需要哪些评估指标:从检索到生成的全链路评测指南
网络·人工智能·python·算法·langchain
专注仿真9 小时前
线性回归和逻辑回归算法详解
开发语言·人工智能·python·大模型训练·控制算法
wflynn10 小时前
GitHub 今日推荐|Edge0:让大号 MoE 模型在一台 Mac 上流式跑起来
python·开源·github
2601_9679801111 小时前
python之用scapy分层解析pcap报文(Ethernet帧、IP数据包、TCP数据包、UDP数据包、Raw数据包)
python·scapy·pcap·协议分析·网络数据包