1. Jupyter Notebook

broken

1.1. Jupyter Notebook简介

Jupyter Notebook是基于网页的用于交互计算的应用程序。 由于该工具的交互特性,我们使用该工具来进行软件开发, 能够在每条命令编写好后,实时地查看到代码执行后的数据变化, 所以Python软件开发中,Jupyter Notebook可以说是一个利器。

Jupyter Notebook应用程序可在Linux环境下运行,也有人将其部署在服务器中。 那么我们的鲁班猫板卡功能与传统PC功能相似,也是在Linux环境下工作的, 自然而然,我们也可以将Jupyter Notebook软件安装在我们的鲁班猫板卡上, 来利用它开发自己的Python程序。

下面我们就来进行Jupyter Notebook软件的安装。

1.2. Jupyter Notebook安装

1.2.1. 软件安装

使用鲁班猫板卡,可以很方便的安装Jupyter Notebook,仅需两条指令。

重要

后续操作均在user用户下执行命令。

# 在终端中输入如下命令:
sudo apt -y install ipython3
sudo apt -y install jupyter

ipython3是一个python的交互式shell,使用Jupyter Notebook开发python应用程序时 我们会使用到。

jupyter则是我们要安装的Jupyter Notebook应用程序了。

依次执行以上两句命令,等待安装完成即可。

1.2.2. 软件配置

接着我们要生成Jupyter Notebook的配置文件,当我们启动Jupyter Notebook时, 应用程序按照特定的配置去启动程序。

在终端中输入如下命令:

# 生成Jupyter Notebook的配置文件
jupyter notebook --generate-config
# 输入后会有如下提示,配置文件根据登录的用户不同而不同:
Writing default config to: /home/debian/.jupyter/jupyter_notebook_config.py

提示中,已经将默认配置文件生成在了 当前登录的用户目录 下,那么我们根据此目录,打开对应的配置文件进行修改。

# 在修改配置文件前,先创建Jupyter Notebook的工作目录
mkdir /home/debian/jupyter

# 使用nano编辑器打开配置文件
nano /home/debian/.jupyter/jupyter_notebook_config.py

修改如下选项:

c.NotebookApp.allow_remote_access = True # 允许远程连接
c.NotebookApp.ip = '*' # 监听所有ip访问
c.NotebookApp.notebook_dir = '/home/debian/jupyter' # jupyter的工作目录,如目录不存在则必须创建
c.NotebookApp.token = '' # 不使用token密钥方式访问,不安全但是方便

在默认配置中,所以选项默认被#号注释,我们只需取消需要修改的选项对应的注释, 并按照上述配置的内容将配置修改好,保存即可。

需要额外注意的时,在c.NotebookApp.notebook_dir选项指定的目录,是Jupyter Notebook 启动时的工作目录,该目录必须存在,如不存在请先自行创建!

1.2.3. 安全登录配置

在我们给大家提供的修改配置文件的示例中,我们默认关闭掉了token登录的选项,仅为了大家方便使用。 这是一种不安全的做法,因为任何用户都可以登录使用Jupyter Notebook服务,文件安全得不到保障。

如大家需要安全的生产环境,大家可以按照如下方式操作,如不需要则跳过此小节:

# 在终端中输入如下命令:
ipython3

# 在启动的python编辑器中输入:
from notebook.auth import passwd

passwd()
# 出现Enter password:,输入任意密码,并将生成的密钥复制保存下来。
'sha1:22275bdd0d0c:57d4c28901370356d2024e9167aff99babde0c21'
# ctrl+z 退出ipython3
# 使用nano编辑器打开配置文件
nano /home/debian/.jupyter/jupyter_notebook_config.py
# 注释token配置选项
# c.NotebookApp.token = ''
# 添加密码登录,将刚才生成的密码填入
c.NotebookApp.password = 'sha1:22275bdd0d0c:57d4c28901370356d2024e9167aff99babde0c21'

自此软件已经安装完成,下面我们可以启动Jupyter Notebook,进行使用。

1.3. Jupyter Notebook使用前注意事项

重要

使用Jupyter Notebook操作外设时,务必参考本小节内容。

在我们使用Python操作部分外设硬件时,是需要root用户权限的。 同理,如果使用Jupyter Notebook操作部分外设硬件时,也需要root权限, 那么解决方法就是登录root用户并以root用户启动Jupyter Notebook。

需要注意的是,Jupyter Notebook的启动时会检查环境配置,不同的用户拥有各自的配置文件!

所以,以root用户身份登录Jupyter Notebook前,需要以root用户再走一遍前面的配置流程。

即:以root用户启动Jupyter Notebook前,需要先登录root用户, 并以root用户的身份使用 jupyter notebook --generate-config 命令生成配置文件并进行修改以配置Jupyter Notebook环境。

1.4. Jupyter Notebook使用

1.4.1. 启动软件

输入以下命令,以启动软件。

# 在终端中输入如下命令,可以启动Jupyter Notebook:
# 允许root用户使用,启动软件时不打开浏览器
jupyter notebook --no-browser --allow-root

软件启动后会打印如下的提示:

broken

根据提示,我们在浏览器中输入对应网址,即可使用Jupyter Notebook的功能了。

以笔者鲁班猫板卡为例,板卡上有两个ip可以进行访问,可任选其一。

broken

故在浏览器中输入:

http://192.168.7.2:8888/?token=xxx 可访问Jupyter Notebook

其中 ?token= 后的内容,具体参考运行Jupyter Notebook时打印出来的内容, 根据实际情况调整,token为用户启动应用程序时的随机生成的唯一密钥,拥有密钥用户才可以访问。

启动界面如图:

broken

启动之后,我们可以尝试这使用一下Jupyter Notebook,编写简单的代码来进行测试:

broken

1.4.2. 上传代码

有时候我们也可以使用别人写好的代码,我们只需要将对应的文件下载, 并上传到jupyter上即可使用。

broken

自此,Jupyter Notebook所有教程结束。