jupyter notebook的基本使用方法和一些坑---学习记录2.23

本文详细介绍了Jupyter Notebook的基本操作,包括更改默认打开路径、创建和管理notebook、界面元素解析以及快捷键和魔法命令的使用。此外,还提到了使用checkpoint和logout的注意事项,并列举了一些conda命令。内容涵盖了notebook的各个方面,旨在帮助用户更高效地使用Jupyter Notebook进行开发。
摘要由CSDN通过智能技术生成


1. jupyter notebook的基本操作

1.1 jupyter notebook的基本打开操作

1.1.1 更改jupyter notebook的默认打开路径

由于我是使用anaconda中的jupyter notebook,并且我的anaconda中有多个虚拟环境,因此只在这里记录我使用有效的方法。

首先,找到相对应虚拟环境下的jupyter notebook,如图所示:在这里插入图片描述
然后右键,选择属性,将目标一栏中的 %USERPROFILE% 替换成你想要打开的路径,如图所示:
在这里插入图片描述

更改完成后打开相应环境下的jupyter notebook,就会是刚才设置的工作路径。
注意:我也试过网上的另一种更改默认打开路径的方法,就是打开cmd,输入jupyter notebook --generate-config命令,然后在jupyter_notebook_config.py文件中更改#c.NotebookApp.notebook_dir = ''这一路径,但是未成功,可能是因为我有多个环境,需要进入指定环境下的jupyter notebook才可以更改成功。

1.1.2 打开非默认路径下的文件

首先,打开虚拟环境tf2.3对应的anaconda prompt,若想打开非默认路径下的文件,例如“D:\”,那么需要先进入对应的目录,然后再打开jupyter notebook即可进入非默认路径下的文件,如图所示:
在这里插入图片描述

2. jupyter notebook界面介绍

2.1 创建notebook

在进入jupyter notebook默认的路径下后,将看到以下界面。如果想新建一个notebook,点击右上角new新建,会显示本电脑中的所有环境,选择所需要的的虚拟环境创建相应的notebook即可,以tf2.3为例:
在这里插入图片描述

2.2 菜单栏介绍

点击菜单栏中的conda一栏,可以看到本电脑中存在所有虚拟环境,以及各个虚拟环境中安装的包,在这里可以对这些包进行下载、删除、更新等操作。也可以对存在的虚拟环境进行复制、删除等操作,也可以导出环境的txt文档。如图所示:在这里插入图片描述

2.3 notebook页面介绍

在创建新的notebook后可以看到以下界面,这个notebook的编辑页面由notebook的名称(双击重命名)、菜单栏(由file、edit、view、insert、cell、kernel、help,所有功能都可以在菜单栏中找到)、工具栏(将常用的功能挑选了出来,方便操作)和cell(在cell中编写代码)组成。
在这里插入图片描述

2.3.1 菜单栏

2.3.1.1 File栏

在这里插入图片描述
new notebook: 新建一个notebook
open: 在新的页面中打开主面板
make a copy: 复制当前的notebook并且生成一个新的notebook
save as: 另存为,在弹出的界面中输入保存地址,地址不能在root环境之外
rename: 重命名
save and checkpoint: 保存并且生成检查点
revert to checkpoint: 将此刻的notebook返回到上次生成的检查点,若此刻不保存生成检查点,此刻的文件会消失
print preview: 打印预览
download as: 转为其它格式下载,如.txt、.py等
close and halt: 停止运行并且退出该notebook

2.3.1.2 Edit栏

在这里插入图片描述
cut cells: 剪切cell
copy cells: 复制cell
paste cells above:粘贴在选中的cell以上
paste cells below: 粘贴在选中的cell以下
paste cells & replace: 粘贴并替换选中的cell
delete cells: 删除cell
undo delete cells: 撤销删除cell
split cell: 拆分cell
merge cell above: 将选中cell与上方cell合并
merge cell below: 将选中cell与下方cell合并
move cell up: 上移选中cell
move cell down: 下移选中cell
edit notebook metadata: 编辑界面元数据,来修改网页界面的一些设置
find and replace: 查找并且替换,只是在选中的cell中查找和替换,类似于word中的替换
cut cell attachments: 切割cell附件
copy cell attachments: 复制cell附件
paste cell attachments: 粘贴cell附件
insert image: 插入图片

2.3.1.3 View栏

在这里插入图片描述
toggle header: 隐藏/显示标题栏
toggle toolbar: 隐藏/显示工具栏
toggle line number: 隐藏/显示代码每行前的编号
cell toggle: cell 工具栏
edit metadata: 编辑每个cell的元数据
raw cell format: 原始cell模式,什么都没有
slideshow: 幻灯片
attachments: 编辑cell的附件
tags: 管理cell的标签

2.3.1.4 Insert栏

在这里插入图片描述
insert cell above: 在选中cell上方插入新cell
insert cell below: 在选中cell下方插入新cell

2.3.1.5 Cell栏

在这里插入图片描述
run cell: 运行选中的cell
run cells and select below: 运行选中cell,运行完成后选择下方的cell
run cells and insert below: 运行选中cell,运行完成后在下方插入新的cell
run all: 运行所有cell
run all above: 运行选中cell上边的所有cell
run all below:运行选中cell下边的所有cell
在这里插入图片描述
cell type: cell的类型,分别为code、Markdown、Raw NBConvert三种类型
在这里插入图片描述
current outputs: 当前选中的cell的输出的可操作方式(toggle: 隐藏/显示相互切换、toggle scrolling: 对于输出内容较长的cell,在用下拉条展示/不用下拉条展示之间相互切换、clear: 清楚本cell的输出)
all output: 全部cell的输出的可操作方式(同上)

2.3.1.6 Kernel栏

在kernel那一栏中可以看到change kernel选项中有不同的kernel,如图所示,分别对应着我电脑本身的环境,因此可以通过这里来改变不同的kernel来运行程序。
在这里插入图片描述
interrupt: 中断与服务器的连接
restart: 重启,重启服务器后可能会丢失变量
restart&clear output: 重启并且清除所有cell的输出
restart&run all: 重启并且运行所有cell
reconnect: 重新连接
shutdown: 关闭,关闭后需要重新连接,关闭后可能会丢失变量
change kernel: 不同虚拟环境对于不同环境下的kernel
conda packages: 和jupyter notebook页面的conda一栏中内容一样
visit anaconda.org: 共享packages, notebooks, projects 和 environments

2.3.1.7 Help栏

在这里插入图片描述
user interface tour: 了解界面
keyboard shortcuts: 查看所有快捷键
edit keyboard shortcuts: 编辑键盘快捷键
notebook help: notebook 帮助文档
markdown: markdown 帮助文档
python reference: python 帮助文档
ipython reference: ipython 帮助文档
numpy reference: numpy 帮助文档
scipy reference: scipy 帮助文档
matplotlib reference: matplotlib 帮助文档
sympy reference: sympy 帮助文档
pandas reference: pands 帮助文档
about: 关于notebook的版本信息

2.3.2 工具栏

工具栏的功能在菜单栏中都能找到,这里只是将常用的功能展示成图标,方便操作。

2.3.3 基本单元cell

cell的两种模式:
cell最左边颜色为蓝色时,为命令模式(此时可对cell进行操作,如:复制、粘贴、剪切、移动等)
cell最左边颜色为绿色时,为编辑模式(此时可对cell中的代码以及文字进行编辑。)
ESC键进入命令模式。
Enter键进行编辑模式。

3. notebook快捷键和命令介绍

3.1 notebook中的快捷键

notebook自带一组快捷键,这将大大提高平时写代码的效率,可在cell为编辑模式时按‘H’键来查看,如图所示:
在这里插入图片描述
快捷键归纳(中文看着方便):
1.cell为命令模式
查询cell的快捷键:H(这里的‘H’不是要在大写情况下才能使用快捷键,‘H’仅代表键盘上H键,下同。)
在当前cell上方添加一个cell:A
在当前cell下方添加一个cell:B
剪切当前cell:X
复制当前cell:C
粘贴当前cell:V
删除当前cell:DD
将当前cell从code类型或者RAW NBConvert类型转为markdown类型:M
将当前cell从markdown类型或者RAW NBConvert类型转为code类型:Y
将当前的cell转化为具有一级标题的markdown:1
将当前的cell转化为具有二级标题的markdown:2
将当前的cell转化为具有三级标题的markdown:3
将当前的cell转化为具有四级标题的markdown:4
将当前的cell转化为具有五级标题的markdown:5
将当前的cell转化为具有六级标题的markdown:6
为当前的cell加入line number:L(取消line number:LL)
撤销对某个cell的删除:Z
选择当前cell的上边一个cell:K或者Up键
选择当前cell的下边一个cell:J或者Down键
执行当前cell,并自动跳到下一个cell:Shift-Enter
执行当前cell,执行后不自动调转到下一个cell:Ctrl-Enter
运行本cell,在当前cell下插入新cell,并且默认为编辑模式:Alt-Enter
是当前的cell进入编辑模式: Enter
退出当前cell的编辑模式: Esc
快速跳转到最后一个cell: Ctrl End
快速跳转到首个cell: Ctrl Home
2.cell为编辑模式
代码补全:Tab
向右缩进:Tab或者Ctrl-]
取消缩进:shift-Tab或者Ctrl-[
全选:Ctrl-A
撤销:Ctrl-Z
为一行或者多行添加/取消注释:Ctrl /

3.2 notebook中的magic 命令

magic命令是ipython的一些高级命令。magic命令有分行magic命令(前加%)单元格magic命令(前加%%),行magic命令仅用于编写magic命令所在的行,单元格magic命令应用于整个cell。

所有的magic命令均可以在这里查看:
https://ipython.readthedocs.io/en/stable/interactive/magics.html#magic
可以通过在命令后加?的方式得到该命令的docstring,即该命令的帮助文档。

3.2.1 常用magic命令

3.2.1.1 magic命令帮助

%lsmagic:显示出所有magic命令
在这里插入图片描述
对当前行使用的magic命令共93个(以%开头)
对当前cell使用的magic命令共28个(以%%开头)

%quickref:显示出所有magic命令的简单版帮助文档
在这里插入图片描述

%magic_name?:输出某个magic命令的详细帮助文档
例如:%run?在这里插入图片描述

3.2.1.2 line magic命令(慢慢补充)

%alias:设置指令的别名
在这里插入图片描述

%alias_magic:为现有的magic命令创建别名。

%autoawait

%autocall:调用函数的时候可以不用输入括号。
0:关闭、1:智能、2:完整

%automagic:使用magic名命令时,可以不用输入%。

%bookmark:管理IPython的书签系统。

%cd:更改当前工作目录。

%colors:设置消息提示框的颜色。

%conda:在当前kernel中安装管理包。

%config:查看、更改IPYthon的配置系统。

%debug:激活交互式调试器。

%dhist:显示历史访问记录。

%dirs:返回当前目录堆栈。

%doctest_mode:开启和关闭doctest模式。

%edit:调用编辑器,并且执行代码结果。

%env:设置环境变量。

%gui:启用或禁用GUI

%history:显示出历史调用的指令。
在这里插入图片描述
-n:
-o:
-p:
-t:
-f:
-g <PATTERN>:
-L <LIMIT>:
-u:

%killbgscripts:通过%%script和它的相关命令去掉BG流程

%load:加载文件、URL、历史记录、macro、element in the user namespace到cell当中。
-r<lines>: 指定加载源码的行的范围,如x:y(x行到y行)
-s<symbols>: 指定从源码中要加载的函数或类
-y: 加载的字符不可超过20万个
-n: 在加载源码时,要包括命名空间

%load_ext:通过模块名加载IPYthon_extension(create a normal python module that can be imported).

%loadpy:%load命令的别名,在加载文件时可不用加.py后缀。

%logoff:暂停记录。

%logon:重新开始记录。

%logstart:开始记录。

%logstate:打开记录系统的状态

%logstop:完全停止记录,并且关闭。

%macro:定义一个宏指令,以供调用。

%matplotlib:通过这条命令显示画出的图,类似于plt.show(),若不通过命令调用,则不会显示图形。

%notebook:导出和转换.ipynb文件

%page

%pastebin

%pdb:控制pdb交互式调试器的自动调用。

%pdef:打印任何可调用对象的内容信息,如果对象是类,则打印内部信息。

%pdoc:打印对象的docstring。

%pfile:打印定义对象的文件。

%pinfo:打印对象的相关信息。

%pinfo2:打印有关对象的额外详细信息。

%pip:在cell中使用pip指令

%popd:更改目录从堆栈顶部弹出。

%pprint:在显示/不显示之间切换。

%precision:设置浮点精度,并且显示。在这里插入图片描述

%prun:通过python解释器运行此命令咋所在行的代码。

%psearch

%psource:打印对象的源代码。

%pushd:将当前目录放在堆栈上并更改目录。

%pwd:显示出当前路径
在这里插入图片描述

%pycat:预览文件
在这里插入图片描述

%pylab:加载numpy和matplotlib进行交互工作。

%recall:重新调用命令,或者输入命令进行行编辑

%rehashx

%reload_ext:重新加载模块

%rerun:重新运行文件

%reset:清空变量
在这里插入图片描述

%reset_selective:通过删除用户定义的名称来重置名称空间。

%run:调用脚本文件
首先创建一个脚本文件命名为hello.py,文件中代码为:

def hello():
    print('hello world!')
    
hello()

将脚本文件和想要调用脚本文件的.ipynb文件放在同一文件夹下,就可用%run命令调用hello.py文件,运行结果如下图所示:
在这里插入图片描述

%save:保存一段代码或者宏指令到指定的文件中。

%sc

%sx

%tb

%time:测算命令所在行的运行时间
在这里插入图片描述

%timeit:执行指定行的代码多次,输出最佳结果。
参数:
-n <N>: 在一个循环中执行给定语句N次。如果未提供N,则会根据语句执行的时间来确定执行的次数。
-r <R>: 重复次数R,每个重复次数由N个循环组成,并获得最佳结果。默认值:7
-t: 使用time.time测量时间,是Unix的默认值,测量实际时间。
-c: 使用time.clock来测量时间,这是Windows上的默认设置,用于测量实际时间。在Unix上,使用resource.getrusage代替并返回CPU用户时间。
-p <P>:使用P位的精度显示计时结果。默认值:3
-q: 不打印结果
-o: 返回一个TimeitResult,可以将其存储在变量中以进行检查。
在这里插入图片描述

%unalias:删除别名。

%unload_ext:通过模块名卸载包。

%who/%who_ls/%whos:显示全部变量(整个notebook中的变量).,并且以指定的形式显示变量。
在这里插入图片描述

在这里插入图片描述

%xdel:删除一个变量,将它从IPYthon用到它的每一个地方清除。
%xmode:控制异常,可通过参数选择模式。

3.2.1.3 cell magic命令

%%bash

%%capture

%%html:编写HTML代码

%%javascript:编写JavaScript代码

%%latex:编写LateX公式
在这里插入图片描述

%%markdown:编写markdown代码

%%perl

%%pypy

%%python2:编写python2代码

%%python3:编写python3代码

%%ruby

%%script

%%sh

%%svg:画矢量图

%%writefile:新建一个文件,将当前cell中的代码写入这个文件
在这里插入图片描述

记录一下踩过的坑:

1. 关于checkpoint

在notebook里边file一栏中有关于checkpoint的选项,如图所示:
在这里插入图片描述
验证一下这个checkpoint是什么。首先写两行代码,运行后点击save to checkpoint,如图所示,可以看到上边会显示检查点已创建(其实相当于保存,对某一时刻的文件进行存档):
在这里插入图片描述
然后接着再多写两行代码(后边方便对比),随便写就行
在这里插入图片描述
在点击revert to checkpoint选项之后,会有刚才保存的checkpoint的时间节点,如图所示:
在这里插入图片描述
点击那个时间节点后,就会返回到以下界面,如图所示:
在这里插入图片描述
会发现和之前保存的时候一模一样,现在应该可以理解checkpoint的含义了。但是checkpoint必须要手动保存和创建之后,才能够被revert。如果不保存和创建checkpoint直接revert to checkpoint的话,revert这一操作是不可以被撤销的!千万记住需要手动创建checkpoint,系统并不会不会自动创建,因为会难以管理,具体原因可以看下图。
在这里插入图片描述

2. 关于logout

如果你也和我一样不小心点了这里的logout,在这里插入图片描述
就会看到这个界面,怎么办,瞎点点说不定就好了!
在这里插入图片描述
点击login page之后会出现下图这个界面,提示需要密码
在这里插入图片描述

根据页面的提示,打开anaconda prompt(tf2.3),注意一定要进入相对应的虚拟环境,然后输入命令

jupyter notebook list

能查到一个网址,如图所示,
在这里插入图片描述
**第一种方法:**直接将上图中的网址复制到浏览器打开,就是之前写代码的页面了。

**第二种方法:**是复制网址中的token后的一串编码,如下图所示,输入到之前需要密码那个界面的password or token一栏中,就可以直接返回到,你点logout之前的页面了。
在这里插入图片描述
可以发现,在点击logout之后,服务器并没有关闭这个程序,只不过是在前端断开了连接,还可以重新与后端程序建立连接,因此可以通过网址再次打开这个页面。

记录一些conda的命令:

(持续更新)

###环境管理
activate env_name  #进入环境
deactive  #退出环境
conda env list  #查看有哪些环境
conda create -n env_name python=3.7  #创建python版本为3.7,名字为env_name的环境
conda remove -n env_name  #删除环境
conda create --name new_env_name --clone old_env_name  #将旧环境克隆为新环境
conda remove -n old_env_name --all  #彻底旧删除环境

###包管理
conda list  #查看环境下的所有包
conda list -n env_name  #查看指定环境下的包
conda update package_name  #更新包
conda install package_name  #下载包l
conda uninstall package_name  #删除个包

###清理无用包
conda clean -p  #删除没有用的包
conda clean -t  #删除tar包
conda clean -y --all  #删除所有的包及cache

评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值