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 分钟前
外包干了2年,快要废了。。
自动化测试·软件测试·python·功能测试·测试工具·面试·职场和发展
艾派森7 分钟前
大数据分析案例-基于随机森林算法的智能手机价格预测模型
人工智能·python·随机森林·机器学习·数据挖掘
小码的头发丝、33 分钟前
Django中ListView 和 DetailView类的区别
数据库·python·django
Chef_Chen1 小时前
从0开始机器学习--Day17--神经网络反向传播作业
python·神经网络·机器学习
千澜空2 小时前
celery在django项目中实现并发任务和定时任务
python·django·celery·定时任务·异步任务
斯凯利.瑞恩2 小时前
Python决策树、随机森林、朴素贝叶斯、KNN(K-最近邻居)分类分析银行拉新活动挖掘潜在贷款客户附数据代码
python·决策树·随机森林
yannan201903132 小时前
【算法】(Python)动态规划
python·算法·动态规划
蒙娜丽宁2 小时前
《Python OpenCV从菜鸟到高手》——零基础进阶,开启图像处理与计算机视觉的大门!
python·opencv·计算机视觉
光芒再现dev2 小时前
已解决,部署GPTSoVITS报错‘AsyncRequest‘ object has no attribute ‘_json_response_data‘
运维·python·gpt·语言模型·自然语言处理
好喜欢吃红柚子3 小时前
万字长文解读空间、通道注意力机制机制和超详细代码逐行分析(SE,CBAM,SGE,CA,ECA,TA)
人工智能·pytorch·python·计算机视觉·cnn