老司机教你用树莓派搭建Jupyter Web开发环境

前言

近期,从箱子里找出了毕业设计用的开发板神器—树莓派(Raspberry Pi),用它做的语音机器人还拿到了学校为数不多的优秀毕业设计,现在回想起来还是很激动,前几篇文章介绍过用树莓派搭建共享存储smb服务、实现内网穿透,今天将介绍用树莓派搭建好用的Python开发环境—Jupyter Notebook,废话不多说,让我们开始吧!

Jupyter Notebook简介

Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。

Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和 markdown。 用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等

安装配置

  • ssh登录到树莓派,并切换到root用户,安装Jupyter

    这里说一下为什么用root,博主亲自实验过,如果用pi用户的话,Jupyter是写不到环境变量中的,可执行程序无法找到,也就启动不了Jupyter

    1
    sudo su
    1
    2
    3
    4
    pip3 install jupyter
    pip3 install jupyter_contrib_nbextensions
    pip3 install six=1.11.0
    jupyter contrib nbextension install

    执行完上面的命令之后,命令行一直在输出,等到结束之后,就代表安装完毕,然后切换回pi用户,用普通用户执行下面的步骤

  • 生成配置文件

    1
    jupyter notebook --generate-config
  • 生成密码

    1
    jupyter notebook password

    执行这条命令之后,命令行会让你输入密码,自行设置这个密码,并记住这个密码,一会Web登录要用到

  • 编辑配置文件

    1. ~/.jupyter/jupyter_notebook_config.json文件中复制出password后面的字符串

      1569597732956

    2. ~/.jupyter/jupyter_notebook_config.py文件中加入以下内容

      1
      2
      3
      4
      5
      6
      c.NotebookApp.ip = '*'
      c.NotebookApp.allow_remote_access = True
      c.NotebookApp.password = u'填上面复制出来的字符串'
      c.NotebookApp.port = 8888
      c.NotebookApp.open_browser = False
      c.NotebookApp.notebook_dir = '/home/pi/jupyter_notebook'

创建可持续化服务文件

切换到root用户,执行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
vim /lib/systemd/system/jupyter.service

在文件中添加以下内容:
[Unit]
Description=jupyter_notebook service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/jupyter notebook --allow-root

[Install]
WantedBy=multi-user.target

启动服务

systemctl start jupyter

systemctl enable jupyter

享用

在浏览器中输入树莓派ip:8888,输入密码,就可以享用你的Jupyter了,开始愉快的编程吧~~~

1569598294810