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

参考文档

相关推荐
知乎的哥廷根数学学派2 小时前
面向可信机械故障诊断的自适应置信度惩罚深度校准算法(Pytorch)
人工智能·pytorch·python·深度学习·算法·机器学习·矩阵
且去填词3 小时前
DeepSeek :基于 Schema 推理与自愈机制的智能 ETL
数据仓库·人工智能·python·语言模型·etl·schema·deepseek
人工干智能3 小时前
OpenAI Assistants API 中 client.beta.threads.messages.create方法,兼谈一星*和两星**解包
python·llm
databook3 小时前
当条形图遇上极坐标:径向与圆形条形图的视觉革命
python·数据分析·数据可视化
阿部多瑞 ABU3 小时前
`chenmo` —— 可编程元叙事引擎 V2.3+
linux·人工智能·python·ai写作
acanab4 小时前
VScode python插件
ide·vscode·python
知乎的哥廷根数学学派4 小时前
基于生成对抗U-Net混合架构的隧道衬砌缺陷地质雷达数据智能反演与成像方法(以模拟信号为例,Pytorch)
开发语言·人工智能·pytorch·python·深度学习·机器学习
WangYaolove13145 小时前
Python基于大数据的电影市场预测分析(源码+文档)
python·django·毕业设计·源码
知乎的哥廷根数学学派5 小时前
基于自适应多尺度小波核编码与注意力增强的脉冲神经网络机械故障诊断(Pytorch)
人工智能·pytorch·python·深度学习·神经网络·机器学习
cnxy1886 小时前
Python爬虫进阶:反爬虫策略与Selenium自动化完整指南
爬虫·python·selenium