CentOS7 下安装 Jupyter

因为 Linux 系统下用 code-server 作为编译器预览 Matplotlib 图表实在过于麻烦,于是决定多装一个 Jupyter 作为数据分析图表预览用工具。


安装较为简单,但是开机启动碰到了一些问题,但还是做个整体的记录吧。

1、安装 Python3,已经安装则跳过 使用我的一键脚本即可:

curl -s https://gitee.com/senjianlu/one-click-scripts/raw/main/CentOS7%20%E4%B8%8B%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85%20Python3%20%E7%8E%AF%E5%A2%83/install.sh | bash

2、pip3 安装 Jupyter

pip3 install notebook

3、生成和修改配置文件以使其能被外部访问,同时支持密码验证

jupyter notebook --generate-config

配置文件会生成在用户目录的 .jupyter/jupyter_notebook_config.py 下,不用记录位置,先去生成密码验证用的密钥:

python3
from notebook.auth import passwd
passwd()
# 输入密码
# 获取形如 argon2:$argon2id$v=19$m=10240,t=10,p=8$dhDVXQegS13Rxxxxxxxxxxxxxxxxxxx 的密钥
exit()

保存好密钥后去修改配置文件:

vi /root/.jupyter/jupyter_notebook_config.py

找到以下各行,按下述修改:

c.NotebookApp.ip='*' # 设置所有 IP 皆可访问
c.NotebookApp.password=u'argon2:$a....' # 复制刚才生成的那个密文
c.NotebookApp.open_browser=False # 禁止自动打开浏览器
c.NotebookApp.port=8888 # 默认为 8888 端口

4、开启对应端口的防火墙和安全组,基础操作,做个提醒

5、尝试启动

jupyter notebook --allow-root

命令
输入密码登录,出现目录页面则说明安装没问题。 登录页面
目录页面

6、新建笔记文件
Jupyter 实际上并不是专业的 IDE,而是笔记工具,因此创建的文件实际上也是笔记文件类型,以下虽然显示的是 Python3 实际创建的是 .ipynb 文件。 新建笔记文件
笔记页面
最简单的代码试下功能: 成功

7、设置开机自启动 如果没有 Screen 先安装:

yum -y install screen
# 配置 Screen 能读取环境变量
echo 'shell -$SHELL' >> /etc/screenrc

crontab 中新增启动任务:

# 使用 python3 -m 而非 jupyter 命令是因为 crond 的环境变量和全局变量不一致
@reboot screen -dmS jupyter && screen -S jupyter -X stuff 'python3 -m notebook --allow-root\n'

结束。