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.ipynbnotebook2.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

参考文档

相关推荐
yvestine15 分钟前
自然语言处理——文本表示
人工智能·python·算法·自然语言处理·文本表示
zzc92123 分钟前
MATLAB仿真生成无线通信网络拓扑推理数据集
开发语言·网络·数据库·人工智能·python·深度学习·matlab
编程有点难38 分钟前
Python训练打卡Day43
开发语言·python·深度学习
2301_8050545644 分钟前
Python训练营打卡Day48(2025.6.8)
pytorch·python·深度学习
LjQ20401 小时前
网络爬虫一课一得
开发语言·数据库·python·网络爬虫
哆啦A梦的口袋呀1 小时前
基于Python学习《Head First设计模式》第九章 迭代器和组合模式
python·学习·设计模式
sponge'2 小时前
opencv学习笔记2:卷积、均值滤波、中值滤波
笔记·python·opencv·学习
databook2 小时前
概率图模型:机器学习的结构化概率之道
python·机器学习·scikit-learn
拾回程序猿的圈圈∞2 小时前
实战二:开发网页端界面完成黑白视频转为彩色视频
python·ai编程
亚林瓜子2 小时前
AWS Elastic Beanstalk + CodePipeline(Python Flask Web的国区CI/CD)
python·ci/cd·flask·web·aws·beanstalk·codepipeline