搭建自己的Jupyter Lab

328 阅读4分钟

前言

最近在看一些机器学习和大模型相关的资料,一些2年前的教程,建议准备的环境是Jupyter Notebook,而最新的却是要求Jupyter Lab。

两者的区别,下面这个来自通义千问的回答:

Jupyter Notebook 和 JupyterLab 是由 Jupyter 项目提供的两种不同的交互式计算环境,主要用于数据分析、机器学习和数据科学领域。虽然它们的基础功能相同,即创建和分享包含代码、文本、公式和可视化内容的可交互文档(通常称为“notebooks”),但在用户体验、灵活性和功能性上有显著差异:

  1. 用户界面
    • Jupyter Notebook 提供的是一个相对简洁的基础网页界面,主要聚焦于单个 Notebook 的编辑和运行。
    • JupyterLab 则是一个更为现代化和综合的工作区环境,采用多面板、多选项卡的设计,允许用户在单一窗口内同时打开和管理多个 Notebook、文本编辑器、终端、数据查看器等多个组件。
  2. 模块化和集成度
    • JupyterLab 更加模块化,用户可以根据需要自由调整布局,比如在左右两侧放置不同的文件资源管理器、终端或者图表输出窗口。
    • 它支持更多的集成,能够更加无缝地进行项目管理和资源查看,像是直接编辑多种文件类型(Markdown、CSV、JSON 等)并在同一环境中预览。
  3. 生产力提升
    • JupyterLab 引入了更高级的编辑和导航功能,例如通过快捷键执行代码块,支持高亮代码区域执行,增强了代码编写和调试的效率。
    • 改进了文件系统的操作体验,尽管有安全策略限制,但总体上提供了更直观的文件浏览和管理方式。
  4. 扩展性
    • JupyterLab 具有更好的可扩展架构,开发者可以为其开发更多的插件和扩展,从而增加更多的定制化功能。

综上所述,Jupyter Notebook 更适用于轻量级的交互式计算和教学场景,而 JupyterLab 则定位为更全面的数据科学工作站,提供更为专业和高效的开发环境,尤其适合复杂的项目和团队协作。随着 JupyterLab 功能的不断迭代和完善,越来越多的用户倾向于将其作为首选的 Jupyter 工具。

安装JupyterLab

不同的操作系统有不同的安装方式,本地和云服务器也有不同的方式,我这里是以云服务器为例,这样,我在哪里都能直接用。

服务器环境

前段时间阿里云活动99买的一个2c2g的云服务器ECS。

镜像:rockylinux_9_3_x64_20G_alibase_20240125.vhd

centos直接参照,ubuntu更换为对应的包管理命令,不影响。

下面的示例就是在这个服务器上操作的。

所有操作都是在root目录下,并且以root用户操作。非root用户请自行增加sudo命令。

python

默认装的是python3.9版本,我升了个级,现在的版本是:Python 3.11.5

Python 环境管理

装的miniconda: docs.anaconda.com/free/minico…

Anaconda和Miniconda的区别可以看这里:docs.conda.io/projects/co… 自己按需安装。

miniconda安装脚本:

mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm -rf ~/miniconda3/miniconda.sh

上面的命令执行完,官方文档让执行这条命令:

~/miniconda3/bin/conda init bash
~/miniconda3/bin/conda init zsh

然后执行这条命令(创建一个虚拟环境):

conda create -n base
/root/miniconda3/_conda upgrade --all

conda准备完毕。

安装Jupyter Lab

执行下面命令

cd /root/miniconda3/bin
source activate
# 安装
conda install -c conda-forge jupyterlab

编辑配置

jupyter lab --generate-config
vim /root/.jupyter/jupyter_lab_config.py 

把这两行配置注释掉,修改如下:

c.ServerApp.allow_root = True # 非 root 用户启动,无需修改
c.ServerApp.ip = '*'

然后,回到家目录,创建一个jupyter的工作目录:

cd
mkdir jupyter_lab
cd jupyter_lab/

后台启动

nohup jupyter lab --port=13009 --NotebookApp.token='pass~!@123' --notebook-dir=./ &

上面启动了Jupyter Lab服务,监听端口指定13009,并且设置了token,这个访问的时候用,然后用自己本地电脑的浏览器通过公网访问(注意防火墙开放了这个端口并且允许访问)

image.png 注意使用上面设置的token.