在上一篇中我们已经安装好了Anaconda,Anaconda本身自带Jupter Notebook。本期我们来学习使用 Jupyter Notebook。
Jupyter Notebook是基于网页的用于交互计算的应用程序。其可被应用于全过程计算:开发、文档编写、运行代码和展示结果。——Jupyter Notebook官方介绍
Jupyter Notebook是一个开源 Web 应用程序,允许您创建和共享包含实时代码、方程式、可视化和叙述文本的文档。用途包括:数据清理和转换,数值模拟,统计建模,数据可视化,机器学习等等。支持python、C、java、Go等多种编程语言。同时支持markdown编辑器。
简而言之,Jupyter Notebook是以网页的形式打开,可以在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示的程序。如在编程过程中需要编写说明文档,可在同一个页面中直接编写,便于作及时的说明和解释。
Jupyter Notebook 已迅速成为数据分析,机器学习的必备工具。因为它可以让数据分析师集中精力向用户解释整个分析过程。
① 网页应用
网页应用即基于网页形式的、结合了编写说明文档、数学公式、交互计算和其他富媒体形式的工具。简言之,网页应用是可以实现各种功能的工具。
② 文档
即Jupyter Notebook中所有交互计算、编写说明文档、数学公式、图片以及其他富媒体形式的输入和输出,都是以文档的形式体现的。
这些文档是保存为后缀名为.ipynb
的JSON
格式文件,不仅便于版本控制,也方便与他人共享。
此外,文档还可以导出为:HTML、LaTeX、PDF等格式。
① 编程时具有语法高亮、缩进、tab补全的功能。
② 可直接通过浏览器运行代码,同时在代码块下方展示运行结果。
③ 以富媒体格式展示计算结果。富媒体格式包括:HTML,LaTeX,PNG,SVG等。
④ 对代码编写说明文档或语句时,支持Markdown语法。
⑤ 支持使用LaTeX编写数学性说明。
传统软件开发:工程/目标明确
需求分析,设计架构,开发模块,测试
数据挖掘:艺术/目标不明确
目的是具体的洞察目标,而不是机械的完成任务
通过执行代码来理解问题
迭代式地改进代码来改进解决方法
实时运行的代码、叙事性的文本和可视化被整合在一起,方便使用代码和数据来讲述故事
对比Jupyter Notebook和Pycharm
画图和数据展示便捷,可以实时查看结果
总结:Jupyter Notebook 相比 Pycharm 在画图和数据展示方面更有优势。
在上一篇中我们已经安装好了Anaconda,Anaconda本身自带Jupter Notebook。具体安装参考上篇。
1、设置登录密码,获取sha1密码
# 首先进入python命令行
python
# 在命令行下输入
from notebook.auth import passwd;passwd()
# 按照提示输入密码,这是jupyter的登陆密码
记住设置的密码, 非常重要, 比如设置了密码为:123456。
记住sha1, 非常重要, 'sha1:XXXX:XXXX’全部复制下来, 包括引号。
2、修改jupyter配置文件
生成配置文件 jupyter_notebook_config.py,windows在 C:\Users\username\.jupyter
下,username为你电脑用户名。如果没有这个文件,可以使用下面命令生成。
jupyter notebook --generate-config
编辑 jupyter_notebook_config.py,在开头加入以下代码
#设置可访问的ip为任意。
c.NotebookApp.ip = '*' #某些版本为c.NotebookApp.ip = '0.0.0.0',都表示任意ip
#不打开浏览器。推荐谷歌,火狐等访问登录jupyter
c.NotebookApp.open_browser = False
#这里填上面设置密码时生成的hash密码
c.NotebookApp.password = 'sha1:XXXX:XXXX'
#允许使用root用户开启jupyter,windows忽略这条
#c.NotebookApp.allow_remote_access = True
#设置登陆端口,一般为8888
c.NotebookApp.port = 8888
#设置jupyter-notebook的工作空间,注意linux与windows的路径表示方式
c.NotebookApp.notebook_dir = 'E:\workspace\pycharm\jupyter'
## 其他配置项根据自己需要修改
3、启动
① 点击Jupyter Notebook打开
② 在终端或者命令行输入,终端或者命令行不要关闭,在浏览器地址栏输入http://localhost:8888或者http://127.0.0.1:8888
jupyter-notebook
出现jupyter登陆页面则初步安装成功,输入设置的登陆密码,新建一个 Python 文件,即.ipynb文件
print("Hello Jupyter") # 按shift+enter运行
正常输出说明安装成功
① 在非系统目录下新建文本文档,修改文件名为jupyter.bat,需要设置文件显示后缀名。用记事本打开,输入以下代码:
@echo off
cd C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
if "%1"=="h" goto begin
start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
cd D:\PF\Anaconda3\Scripts
D:\PF\Anaconda3\Scripts\jupyter.exe notebook --no-browser --port=8888
其中,C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
、D:\PF\Anaconda3\Scripts
和 D:\PF\Anaconda3\Scripts\jupyter.exe
根据自己系统和安装目录进行替换。
② 双击jupyter.bat 测试能否正常开启jupyter
③ 移动jupyter.bat到windows启动文件夹
C:\Users\admin\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
,admin为自己电脑用户名,需要根据自己电脑实际情况手动修改。C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
开启代码自动补全,可以提高代码的编写效率。重点推荐配置
1.使用pip安装jupyter拓展包,本人选择在cmd中安装
pip install jupyter_contrib_nbextensions
或者
conda install jupyter_contrib_nbextensions
2.配置 nbextension,前提是先关闭jupyter notebook
jupyter contrib nbextension install --user --skip-running-check
3.点击Jupyter图标,在Jupyter Notebook里开启功能
4.然后打开hinterland功能
5.最后就可以使用代码补全了
Jupyter Notebook 有两种键盘输入模式,即命令模式和编辑模式,这与 Vim 有些类似。在编辑模式下,可以往单元中键入代码或文本,此时单元格被绿色的框线包围,且命令模式下的快捷键不生效。在命令模式下,可以用快捷键命令运行单元格,移动单元格,切换单元格编辑状态等等,此时的单元格被灰色的框线包围,且编辑模式下的快捷键不生效。
从命令模式进入编辑模式需按 Enter
键,从编辑模式切换到命令模式需按 Esc
键。
当条框单元为绿色时,此时处于编辑模式。编辑模式下我们主要记住代码补全、代码提示和运行单元的快捷键。
快捷键 | 作用 |
---|---|
Tab | 代码补全或缩进 |
Shift + Tab | 查看函数参数,光标要在括号中 |
Shift + Enter | 运行本单元,选中下一单元 |
Ctrl + Enter | 运行本单元 |
Alt + Enter | 运行本单元并在下方插入一个单元 |
esc、点击输入框前面的 ln [ ] | 退出编辑模式 |
当输入框为蓝色时,此时处于命令模式。我们主要记住单元格增删和单元格状态转换。
快捷键 | 作用 |
---|---|
y | 单元格进入代码模式 |
m | 单元格进入 markdown 格式 |
A | 上方插入新单元格 |
B | 下方插入新单元格 |
DD | 删除选中的单元格 |
enter | 进入编辑模式 |
此外,还有三种运行代码模式快捷键,和编辑模式下相同,这里不再例举。
Jupyter Notebook 中有许多魔法命令,魔法命令提供了一种简便、快捷的方式来执行常见任务,因此被称为“魔法”。
用法 | 作用 |
---|---|
? | 查看对变量、函数等的描述 |
?? | 查看更细致的描述 |
请看下面的代码示例:
len?
返回:
Signature: len(obj, /)
Docstring: Return the number of items in a container.
Type: builtin_function_or_method
下面定义一个函数:
def get_one():
"""
return the number 1
"""
return 1
如果是一个问号:
get_one?
返回
Signature: get_one()
Docstring: return the number 1
File: e:\temp\ipykernel_1692\2371390829.py
Type: function
如果是两个问号:
get_one??
返回
Signature: get_one()
Source:
def get_one():
"""
return the number 1
"""
return 1
File: e:\temp\ipykernel_1692\2371390829.py
Type: function
看得出来,两个问号给予的描述是更细致的,毕竟疑问号都多了一个嘛。
魔法命令基本上都是以 % 开头的,用于实现一些在常规Python语法中无法实现或不容易实现的功能,使得开发者能够轻松地执行一些特定任务,从而让整个交互式计算环境显得更加“神奇”和高效。
魔法命令 | 作用 |
---|---|
%run | 运行后导入自定义文件,运行完后,该文件内的函数、类等都可以直接使用 |
%timeit | 统计运行时间, 用于测试一行代码性能,一般是耗时较短的 |
%time | 统计运行时间,用于测试代码性能,一般是耗时较长的 |
%who | 查看当前会话的所有变量与函数名称 |
%whos | 显示变量类型和值 |
%who_ls | 以列表形式显示变量和函数名 |
pip install | 用于安装包 |
lsmagic | 查看所有魔法命令 |
? | 查看魔法命令的帮助文档 |
现有一个名为 test.py 文件,包含如下内容:
def display():
"""
show the number
"""
print('hello')
def add(x,y):
return x+y
display()
下面演示魔法命令的使用,因为代码较为简短,因此直接以图片形式展示。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iglTQuH1-1690327331492)(C:\Users\崔羽飞\AppData\Roaming\Typora\typora-user-images\image-20230725111812375.png)]
本期跟大家分享的内容就到此结束了!希望本文的内容能够帮助到你。
Ubuntu与windows下配置安装jupyter-notebook以及其开机自启、后台运行与远程访问
windows环境 jupyter notebook 自启动 局域网访问
jupyter 的代码自动补全
Python实现读取txt文件并转换为excel的方法示例
Jupyter Notebook介绍、安装及使用教程
Jupyter Notebook介绍及使用操作
Jupyter Notebook 快捷键使用指南
Jupyter-notebook 常用魔法命令