跳到主要内容

Jupyter

· 阅读需 3 分钟

简介

Jupyter 是一个开源的交互式编程和数据分析工具。可以在浏览器的界面中编写代码、运行代码、可视化结果,并添加富文本(如 Markdown)进行说明,形成可重复、可分享的文档。

特点

  • 交互式编程
    支持逐行或分块执行代码,实时查看结果(如图表、表格、文本等)。 特别适合探索性数据分析(EDA)和快速原型开发。
  • 多语言支持
    原生支持 Python(最常用),通过安装内核(kernel)可扩展至 R、Julia、Scala、JavaScript 等 40+ 种语言。
  • 富文本与可视化
    支持 Markdown、LaTeX、HTML 编写文档,结合代码和说明(如数学公式、图片)。 集成 Matplotlib、Plotly、Bokeh 等可视化库,直接显示图表。
  • 跨平台与云端集成
    可在本地或远程服务器运行,支持 Docker 部署。 与 Google Colab、Kaggle Notebooks、JupyterHub 等云端平台无缝衔接

安装JupterLab

# 使用 conda 创建独立环境
conda create -n your_env_name python=x.x

# 进入环境
conda activate your_env_name

# 安装jupyter
conda install jupyterlab

# 启动
jupyter-lab

多环境单实例(未验证)

nb_conda_kernels使用已经安装的conda环境作为内核,实现多个版本的python或其它语言环境在单个Jupyter实例中并存

# 进入环境(可以是其它环境)
activate base

# 安装 jupyter (注意要用 pip)
pip install jupyterlab

# 安装 nb_conda_kernels
conda install -c conda-forge nb_conda_kernels

# 列出所有可用的内核,包括来自不同Conda环境的内核
jupyter kernelspec list

以上未验证,

自定义配置

# 生成配置文件
jupyter-lab --generate-config // .jupyter/jupyter_lab_config.py

# 修改配置(示例)
c.ServerApp.root_dir = 'jupyter/root/path/'
  • 允许其他机器访问使用
# 1. 设定密码会生成配置文件 ~/.jupyter/jupyter_server_config.json
jupyter server password
# 2. 修改配置文件如下
{
"ServerApp": {
"ip": "*", // 必须
"port": 8899,
"allow_remote_access": true, // 必须
"root_dir": "jupyter/root/path/" // 指定根目录
}
}
  • 后台启动
# 推荐,无日志输出保存
nohup jupyter-lab >/dev/null 2>&1 &
  • 关闭
# 进入环境
conda activate your_env_name

# 查询进程id
ps -ef | grep your_env_name

# kill 进程
kill -9 xxx

# 退出环境
conda deactivate
  • 汉化
conda install -c conda-forge jupyterlab-language-pack-zh-CN

参考文章


扩展内核

Rust

  1. 安装Rust(略)

  2. 安装Jupyter 的 Rust 内核扩展 谷歌开源的evcxr

cargo install evcxr_jupyter
evcxr_jupyter --install

C语言Jupyter内核

pip install jupyter-c-kernel
install_c_kernel

已知问题

  1. evcxr_jupyter 和 jupyter-c-kernel 都需要 gcc

JupyterHub

JupyterHub

官方提供多用户使用方案:The Littlest JupyterHub