简介
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
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
代码单元格中,使用以下命令:# 将执行`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
为了能支持代码提示,可以安装代码补全的库:
# 代码补全
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
安装依赖库
pip install nbconvert pandoc
pip install jupyter_contrib_nbextensions
执行命令:!jupyter nbconvert --to markdown numpy_regression.ipynb
如果用的浏览器jupyter,可以通过菜单选择来导出
File->Save and export notebook as -> markdown