4-Linux服务器搭建Jupyter Notebook

搭建Jupyter Notebook远程云服务器

为什么要使用Jupyter Notebook

  • 随时可在未安装Python的电脑上使用Python(可以分享给别人)
  • 借助服务器的性能,在服务器上做分析,解放本地计算机的CPU
  • 不同电脑间,使用服务器jupyter可避免数据不一致
  • Jupyter Notebook能帮助我们有效地组织输入输出,将探索数据的过程记录下来,
  • Jupyter Notebook支持Markdown,也支持Python、R甚至Julia等语言,完全可以支持一个数据工作者的大多数分析需求。

完工后的界面如下,输入密码就可以开始使用啦:

安装过程

注意:以下步骤1-5配置的是 Jupyter Notebook 服务器的全局设置。 它们可以在任何你全局安装了 jupyter 包的环境中执行,通常是 base 环境。

1、安装 Jupyter Notebook 库

我安装的是 Ananconda ,这是 Python 的科学计算包,自带了 Jupyter,因此无需此步骤。若未安装,也可单独安装

2、生成 Jupyter Notebook 配置文件

1
$ jupyter notebook --generate-config

生成的配置文件,后来用来设置服务器的配置

3、设置Jupyter Notebook密码

设置密码用于设置服务器配置,以及登录Jupyter。直接在conda终端,输入以下:

1
jupyter server password 

命令会提示你输入一个新的密码,并要求你再次输入以确认:

1
2
Enter password:
Verify password:

成功输入并确认密码后,命令会显示一条消息,指示密码哈希已生成并保存到 Jupyter Notebook 的配置文件中:

1
[NotebookPasswordApp] Wrote hashed password to /home/your_username/.jupyter/jupyter_server_config.json

若要重新设置密码,只需再次运行 jupyter server password 命令即可

注意:本操作为自动设置密码,即后面也可以不用在配置文件中单独配置密码

4、设置服务器配置文件

1
$ vim ~/.jupyter/jupyter_notebook_config.py

在末尾增加以下几行配置信息(此配置信息,也可在启动Jupyter时在参数中添加,但我认为那样看起来比较乱)

1
2
3
4
5
6
7
c.ServerApp.ip = '*'                    # 所有绑定服务器的IP都能访问,若想只在特定ip访问,输入ip地址即可
c.ServerApp.port = 8888                  # 将端口设置为自己喜欢的吧,默认是8888
c.ServerApp.open_browser = False             # 我们并不想在服务器上直接打开Jupyter Notebook,所以设置成False
c.ServerApp.root_dir = '/home/user/Desktop/jupyter_projects' # 这里是设置Jupyter的根目录,若不设置将默认root的根目录,不安全
c.ServerApp.allow_root = True              # 是否允许root用户登陆,为了安全Jupyter默认不允许以root权限启动jupyter
c.ServerApp.password = 'argon2:$argon2id$v=xx$m=xxx,t=xxx,p=xxxxx' # 上一步json文件中的密钥
c.ServerApp.allow_remote_access = True

5、启动Jupyter 远程服务器

1
2
3
4
5
6
7
$ jupyter notebook

# 或者指定端口和IP地址
$ jupyter notebook --no-browser --port 6000 --ip=192.168.1.103

# 后台启动
nohup jupyter notebook &

--ip=192.168.1.103 使得 Jupyter Notebook 服务器监听 192.168.1.103 这个 IP 地址,允许所有电脑通过 http://192.168.1.103:6000 访问 Jupyter Notebook。

至此,Jupyter远程服务器以搭建完毕。在本地浏览器上,输入 ip地址:8888,将会打开远程Jupyter。接下来就可以像在本地一样使用服务器上的Jupyter

按下ctrl+C键,可以退出

Jupyter Notebook 更换kernel

由于jupyter notebook访问的时候,默认使用了anaconda的base环境,这里就需要更换环境。

  • 这一步需要在你希望使用的特定 Anaconda 环境中执行。
  • 目的是将该环境的 Python 解释器和包添加到 Jupyter Notebook 的可用内核列表中。

具体方式如下:

1、安装ipykernel:

1
2
3
4
5
6
# 新建虚拟环境
(base) [root]$ conda activate your_eniv
# 安装nb_conda_kernels
(your_eniv) [root]$ conda install nb_conda_kernels
Collecting package metadata (current_repodata.json): done
Solving environment: done

ipykernel包和nb_conda_kernels包区别
ipykernel: 在 当前 conda 环境 中安装 Jupyter kernel
nb_conda_kernels: 自动扫描所有conda 环境,并为每个环境创建一个对应的 Jupyter kernel

验证是否安装成功python -m ipykernel --version

2、添加内核: conda activate 环境名称,将环境写入notebook的kernel中

1
python -m ipykernel install --user --name=<环境名称> --display-name <显示的名称>

3、检测内核是否添加正确

1
jupyter kernelspec list

删除指定内核:jupyter kernelspec remove 内核名称

3、打开notebook服务器:jupyter notebook,浏览器打开对应地址,就会有对应的环境提示了。

快速搭建JupyterLab服务

JupyterLab与Jupyter Notebook师出同源,可以凭个人爱好进行选择。因为我想把博客写全,所以再介绍一下JupyterLab服务搭建

jupyter lab的每一步都和jupyter一样,就是启动的时候,加了lab而已。

1、安装 Jupyter Notebook 库

2、生成 Jupyter Notebook 配置文件

1
$ jupyter lab --generate-config

生成的配置文件,后来用来设置服务器的配置

3、设置Jupyter Notebook密码

4、设置服务器配置文件

1
2
3
4
5
6
7
8
9
vim ~/.jupyter/jupyter_lab_config.py
# 在最后添加以下配置
c.ServerApp.root_dir = '/home/jupyter'
c.ServerApp.allow_root = True
c.ServerApp.open_browser = False
c.ServerApp.password = 刚才记录的密码
c.ServerApp.allow_remote_access = True
c.ServerApp.ip = '*' #监听地址
c.ServerApp.port = 8848 #端口,默认8888

5、启动Jupyter 远程服务器

1
2
3
4
5
6
7
$ jupyter lab --allow-root

# 或者指定端口和IP地址
$ jupyter lab notebook --no-browser --port 6000 --ip=***.***.**.***

# 后台启动
nohup jupyter-lab &

至此,Jupyter远程服务器以搭建完毕。在本地浏览器上,输入 ip地址:8888,输入密码,也就是我们自己设置并确认的密码。将会打开远程Jupyter lab。

按下ctrl+C键,可以退出

安装其他包

1
2
3
4
5
6
7
8
9
pip install jupyterlab-language-pack-zh-CN # 中文
登录JupyterLab,在菜单里选择'设置' -> '语言',选择 '中文'
pip install jupyterlab-kite # 代码补全
pip install jupyterlab-system-monitor # 性能监控
pip install jupyterlab-spellchecker # 拼写检查
pip install black isort # 代码格式化
pip install jupyterlab-code-formatter # 代码格式化
pip install jupyterlab-git # git
conda install nb_conda # 关联conda

4-Linux服务器搭建Jupyter Notebook
https://blog.966677.xyz/2025/02/17/4-Linux服务器搭建JupyterNotebook/
作者
Zhou1317fe5
发布于
2025年2月17日
许可协议