Jupyter 的安装和 Java 内核的添加
目录
1. 引言
当我在 zyb0408.github.io 博客阅读 《On Java 8》 时看到 博客推荐安装 Jupyter Lab 时, 顺势尝试安装了以下, 踩了一些坑, 填满了坑后, 觉得有 必要记录 📝 一下以备不时之需。
2. 注意事项
-
系统:笔者使用的是
macOS
系统,其它系统操作类似。 使用的脚本语言解释器为zsh
, 切换指令chsh -s /bin/zsh
-
如果运行中遇到权限问题, 可在命令前加
sudo
后再重新执行。
3. 前提条件
-
科学上网环境。如无可参考笔者的 科学上网之 Gost 方案 v2。
-
如果未安装则安装 Homebrew, 以便安装管理其它工具
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
-
如果未安装则安装 wget
brew install wget
-
如果未安装则安装 Python, Jupyter 依赖 Python 环境
brew install python
-
安装 SDKMAN
curl -s "https://get.sdkman.io" | bash source "$HOME/.sdkman/bin/sdkman-init.sh"
查看是否安装成功, 执行
sdk version
如果显示类似如下信息则表示安装成功
SDKMAN! script: 5.18.2 native: 0.4.6
-
使用 SDKMAN 安装 Java 环境
sdk install java
4. 避坑提示
由于笔者使用 Homebrew 安装的 Python, 所以在后续使用:
python3 install.py --sys-prefix
安装 IJava 的时候会遇到错误:
Traceback (most recent call last):
File "/Users/myqs/Downloads/ijava/install.py", line 6, in <module>
from jupyter_client.kernelspec import KernelSpecManager
ModuleNotFoundError: No module named ‘jupyter_client'
且包括但不限于在官网查了很多资料, 都没能解决问题, 最后只好通过 Python 的 venv 虚拟环境来安装, 所以这篇博文是介绍在 Python 虚拟环境中安装 Jupyter 的文章。
笔者还未尝试过不通过 Homebrew 而直接安装 Python 后再来安装 Jupyter 的情况, 欢迎读者自行尝试并反馈结果。
5. 操作步骤
-
创建虚拟环境
python3 -m venv jupyter-venv
-
激活虚拟环境
source jupyter-venv/bin/activate
-
安装 JupyterLab
pip install jupyterlab
-
安装 IJava
-
环境要求: Java JDK >= 9
-
下载 IJava
wget https://github.com/SpencerPark/IJava/releases/download/v1.3.0/ijava-1.3.0.zip
-
解压 ijava-1.3.0.zip, 进入 ijava
unzip ijava-1.3.0.zip -d ijava && ijava
-
安装 IJava
python3 install.py --sys-prefix
-
查看安装情况
jupyter kernelspec list
如果输出结果如下所示, 包含 java 内核, 则说明安装成功
Available kernels: java /Users/myqs/Documents/jupyter-venv/share/jupyter/kernels/java python3 /Users/myqs/Documents/jupyter-venv/share/jupyter/kernels/python3
-
-
启动 JupyterLab
jupyter lab
-
效果截图
-
退出 Python venv 虚拟环境
deactivate
6. 常用命令
- SDKMAN
-
查看 SDKMAN 安装的版本信息
sdk version
-
安装最新版 Java
sdk install java
-
安装特定版本 Java
sdk install java 21.0.2-tem
-
卸载已安装的 Java 版本
sdk uninstall java 21.0.2-tem
-
显示可安装的软件包类型
sdk list
-
显示可用 Java 版本信息列表
sdk list java
-
选择在当前终端中使用给定版本
sdk use java 21.0.2-tem
-
选择将给定版本设置为默认版本
sdk default java 21.0.2-tem
-
查看当前正在使用的版本内容
sdk current java
-
- Jupyter
-
列出当前 Jupyter 环境中可用的内核
jupyter kernelspec list
-
安装新的内核
jupyter kernelspec install ijava/install.py
-
卸载指定的内核
jupyter kernelspec uninstall java
-