2024-03-29 12:17:56 +08:00
|
|
|
|
# jupyter-image-stacks
|
|
|
|
|
|
2024-10-02 12:11:34 +08:00
|
|
|
|
## 通用的Jupyterlab镜像组
|
2024-04-12 16:19:54 +08:00
|
|
|
|
|
2024-03-29 12:17:56 +08:00
|
|
|
|
English | [中文](README_CN.md)
|
|
|
|
|
|
|
|
|
|
**为中国用户的文档**
|
|
|
|
|
|
2024-12-10 02:21:56 +08:00
|
|
|
|
**ghcr.io: https://github.com/eoeair/jupyter/pkgs/container/jupyter**
|
2024-10-31 17:20:01 +08:00
|
|
|
|
|
2024-12-10 02:21:56 +08:00
|
|
|
|
**Our Gitea: https://eoelab.org:1027/eoeair/jupyter**
|
2024-04-11 21:05:01 +08:00
|
|
|
|
|
2024-03-29 12:17:56 +08:00
|
|
|
|
### 如何使用
|
|
|
|
|
**Docker**
|
2025-02-20 21:27:02 +08:00
|
|
|
|
* 没有数据持久化地使用:`docker run -d -p 8888:8888 ghcr.io/eoeair/jupyter:<tag>`
|
|
|
|
|
* 提供数据持久化地使用:`docker run -d -p 8888:8888 -v "${PWD}":/home/jovyan ghcr.io/eoeair/jupyter:<tag>`
|
2024-03-29 12:17:56 +08:00
|
|
|
|
|
2024-09-26 02:23:46 +08:00
|
|
|
|
**Jupyterhub on K8S**
|
2024-03-29 12:17:56 +08:00
|
|
|
|
在singleuser内的profile指定镜像
|
|
|
|
|
```
|
|
|
|
|
- description: 提供Python的科学计算环境,提供了丰富的数值计算、优化、信号处理、统计分析等功能,用于科学研究和工程应用。
|
|
|
|
|
display_name: Scipy
|
|
|
|
|
kubespawner_override:
|
2025-02-20 21:27:02 +08:00
|
|
|
|
image: ghcr.io/eoeair/jupyter:scipy
|
2024-03-29 12:17:56 +08:00
|
|
|
|
```
|
2024-09-26 02:23:46 +08:00
|
|
|
|
|
|
|
|
|
**Jupyterhub on Docker**
|
|
|
|
|
```
|
|
|
|
|
c.DockerSpawner.allowed_images = {
|
2025-02-20 21:27:02 +08:00
|
|
|
|
'Scipy': 'ghcr.io/eoeair/jupyter:scipy'
|
2024-09-26 02:23:46 +08:00
|
|
|
|
}
|
|
|
|
|
```
|
2024-03-29 12:17:56 +08:00
|
|
|
|
### 全局说明
|
2024-04-11 22:24:40 +08:00
|
|
|
|
1. 如果自行构建或派生,替换dockerfile中的基础镜像为dockerhub上的镜像
|
|
|
|
|
2. 对于例如Mathematica,MATLAB等商业软件,我们只提供打包,具体激活方式及可能带来的后果由用户承担
|
2024-10-11 10:29:11 +08:00
|
|
|
|
3. 以下代码适用于解决matplotlib绘图缺失中文字体(使用前需要先安装wqy-zenhei字体)
|
2024-03-29 12:17:56 +08:00
|
|
|
|
```
|
|
|
|
|
from matplotlib.font_manager import FontProperties
|
|
|
|
|
# 设置中文字体路径
|
|
|
|
|
zh_font = FontProperties(fname="/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc")
|
|
|
|
|
# 将中文字体设置为默认字体
|
|
|
|
|
plt.rcParams["font.family"] = zh_font.get_name()
|
|
|
|
|
```
|
2024-10-11 10:29:11 +08:00
|
|
|
|
### 需要额外说明的镜像
|
|
|
|
|
* Base:基础镜像,包含jupyterhub,jupyterlab,相当于jupyter官方的minimal-notebook镜像
|
2024-03-29 12:17:56 +08:00
|
|
|
|
* 说明
|
2025-01-19 23:05:27 +08:00
|
|
|
|
1. 上游已经切换到`debian:trixie-slim`
|
2024-09-26 02:23:46 +08:00
|
|
|
|
2. 添加了sudo的无密码使用,在安全要求较高的场景中,不要允许特权提升
|
2024-10-31 17:20:01 +08:00
|
|
|
|
3. 提供软件包:.zip文件解压
|
2024-10-11 10:29:11 +08:00
|
|
|
|
* Python:支持Python。
|
|
|
|
|
* Scipy:提供Python的科学计算环境
|
|
|
|
|
* Scrpy: 提供Python的网页采取环境,适用于数据挖掘、网络爬虫
|
|
|
|
|
* pyspark: 提供基于Python的Spark编程接口
|
|
|
|
|
* pyflink: 提供基于Python的Flink编程接口
|
|
|
|
|
* pyai(With GPU):提供Pytorch。
|
|
|
|
|
* Julia:支持Julia
|
2024-03-29 12:17:56 +08:00
|
|
|
|
* 说明:
|
2024-10-11 10:29:11 +08:00
|
|
|
|
1. Julia镜像中的环境变量`JULIA_NUM_THREADS`,请在启动时根据理想的并发线程数进行配置,默认为8
|
2024-03-29 12:17:56 +08:00
|
|
|
|
* Maple: 一个数学软件,透过智能文件界面提供强大数学引擎,可以轻松分析、探索、可视化和求解数学问题
|
|
|
|
|
* 说明
|
2024-04-27 14:37:45 +08:00
|
|
|
|
1. 将`license.dat libmaple.so`上传至主目录,每一次启动环境时,运行`sudo cp license.dat /opt/maple/license && sudo cp libmaple.so /opt/maple/bin.X86_64_LINUX/`完成激活再使用
|
2024-03-29 12:17:56 +08:00
|
|
|
|
* Mathematica:一个科学计算软件,在数据分析、数学计算等领域提供了强大方便的使用功能。
|
|
|
|
|
* 说明
|
2024-12-26 23:05:09 +08:00
|
|
|
|
1. 每一次启动环境时,运行`WolframKernel`完成手动激活,激活码查看`https://paran3xus.github.io/2024/08/24/mathematica-14.1-crack/`,如果多次激活不成功,请运行`rm /home/jovyan/.Mathematica/Licensing/mathpass`删除之前的许可记录
|
2024-04-15 14:40:56 +08:00
|
|
|
|
2. 如果你有账户,使用WEB验证/在线验证
|
|
|
|
|
3. 该镜像存在问题, kernel 卡在 connecting.
|
2024-03-29 12:17:56 +08:00
|
|
|
|
* MATLAB:一种支持数据分析、算法开发和建模的编程和数值计算平台。
|
|
|
|
|
* 说明
|
2024-04-14 21:49:17 +08:00
|
|
|
|
1. 将`license.lic libmwlmgrimpl.so`上传至主目录,每一次启动环境时,运行`sudo cp license.lic /opt/matlab/r2023b/licenses/ && sudo cp libmwlmgrimpl.so /opt/matlab/r2023b/bin/glnxa64/matlab_startup_plugins/lmgrimpl/`完成激活再使用
|
2024-04-15 14:40:56 +08:00
|
|
|
|
2. 如果你有账户,使用WEB验证/在线验证
|
2024-03-29 12:17:56 +08:00
|
|
|
|
* minimal:仅仅包含`Product:MATLAB`
|
|
|
|
|
* mcm:包含数学建模所需要的工具箱
|
|
|
|
|
|
|
|
|
|
### 插件清单
|
|
|
|
|
|
|
|
|
|
**全局**
|
|
|
|
|
* jupyterlab-language-pack-zh-CN:对中文的支持
|
2024-11-01 19:39:01 +08:00
|
|
|
|
* jupyterlab-lsp:用于自动补全、参数建议、函数文档查询、跳转定义
|
2024-10-26 06:08:52 +08:00
|
|
|
|
* jupyterlab-execute-time: 用于显示代码执行时间
|
2024-11-02 17:30:30 +08:00
|
|
|
|
* jedi-language-server: Python 语言服务器
|
2024-03-29 12:17:56 +08:00
|
|
|
|
|
|
|
|
|
**局部**
|
|
|
|
|
|
2024-11-02 17:30:30 +08:00
|
|
|
|
* R: r-languageserver: R 语言服务器
|
|
|
|
|
|
|
|
|
|
* Julia: julia-language-server: Julia 语言服务器
|
|
|
|
|
|
2024-03-29 12:17:56 +08:00
|
|
|
|
### 镜像依赖关系
|
|
|
|
|
```mermaid
|
|
|
|
|
graph LR
|
2024-10-02 12:11:34 +08:00
|
|
|
|
Python-->P{PROGRAMLANG}
|
|
|
|
|
P-->PA(R)
|
|
|
|
|
P-->PB(Julia)
|
|
|
|
|
P-->PC(C)
|
|
|
|
|
P-->PD(Cpp)
|
2024-10-18 19:17:01 +08:00
|
|
|
|
P-->PE(Ansible)
|
|
|
|
|
P-->PF(Chapel)
|
|
|
|
|
P-->PG(Dyalog)
|
|
|
|
|
P-->PH(Fortran)
|
|
|
|
|
P-->PI(Go)
|
|
|
|
|
P-->PJ(Haskell)
|
|
|
|
|
P-->PK(Java)
|
|
|
|
|
P-->PL(Js)
|
|
|
|
|
P-->PM(Kotlin)
|
|
|
|
|
P-->PN(Lua)
|
|
|
|
|
|
2024-10-02 12:11:34 +08:00
|
|
|
|
|
|
|
|
|
Python-->G{GUI}-->GA(Novnc)-->GAA(Pyqt6)
|
|
|
|
|
|
|
|
|
|
Python-->S{Science-compute}-->SA(Scipy)
|
|
|
|
|
S-->SB(Pyai)
|
|
|
|
|
|
|
|
|
|
Python-->B{BigData}-->BA(pyspark)
|
|
|
|
|
B-->BB(pyflink)
|
|
|
|
|
B-->BC(Scrpy)
|
2024-10-18 19:17:01 +08:00
|
|
|
|
B-->BD(Sql)
|
2024-10-02 12:11:34 +08:00
|
|
|
|
|
|
|
|
|
Python-->M{MATH-TOOL}-->MA(Octave)
|
|
|
|
|
M-->MB(Maple)
|
|
|
|
|
M-->MC(Sagemath)
|
|
|
|
|
M-->MD(MATLAB-minimal)-->MDA(Matlab-mcm)
|
|
|
|
|
M-->ME(Mathematica)
|
|
|
|
|
M-->MF(Scilab)
|
2024-03-29 12:17:56 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 上游
|
|
|
|
|
|
|
|
|
|
**软件包版本**
|
2024-12-26 23:05:09 +08:00
|
|
|
|
* cuda 12.4.0
|
2025-03-11 00:44:01 +08:00
|
|
|
|
* Python 3.11
|
2024-04-12 10:51:46 +08:00
|
|
|
|
* Julia latest
|
2025-03-11 00:44:01 +08:00
|
|
|
|
* spark 3.5.5
|
2024-09-26 02:48:01 +08:00
|
|
|
|
* flink 1.20.0
|
2024-03-29 12:17:56 +08:00
|
|
|
|
* jupyterlab 4
|
|
|
|
|
* Matlab R2023b
|
2024-12-26 23:05:09 +08:00
|
|
|
|
* Mathematica 14.1
|
|
|
|
|
* Maple 2024.2
|
2024-03-29 12:17:56 +08:00
|
|
|
|
|
2024-10-31 17:20:01 +08:00
|
|
|
|
**默认镜像源**
|
2024-03-29 12:17:56 +08:00
|
|
|
|
* pip bfsu:https://mirrors.bfsu.edu.cn/help/pypi/
|
|
|
|
|
* apt ustc:https://mirrors.ustc.edu.cn/help/debian.html
|
2024-04-16 21:18:03 +08:00
|
|
|
|
* apache ustc: https://mirrors.ustc.edu.cn/apache/
|
2024-10-31 17:20:01 +08:00
|
|
|
|
* julia-pkg mirrorz: https://mirrors.cernet.edu.cn/julia
|
2024-04-16 21:18:03 +08:00
|
|
|
|
* CRAN ustc:https://mirrors.ustc.edu.cn/CRAN/
|
2024-03-29 12:17:56 +08:00
|
|
|
|
|
2024-10-31 17:20:01 +08:00
|
|
|
|
***现在你可以通过ARG选择你需要的镜像站点***
|
|
|
|
|
|
2024-03-29 12:17:56 +08:00
|
|
|
|
### 项目上游
|
|
|
|
|
jupyter团队项目 https://github.com/jupyter/docker-stacks
|
|
|
|
|
|
|
|
|
|
**但是我们与上游差别较大,包括源,软件包,本地化与扩展等,因此如果您从本项目派生遇到问题,请不要到jupyter团队提问,这会加大他们的工作量**
|
|
|
|
|
|
|
|
|
|
### kernel
|
|
|
|
|
* Python:https://ipython.org/
|
|
|
|
|
* Julia: https://github.com/JuliaLang/IJulia.jl
|
|
|
|
|
* R: http://irkernel.github.io/
|
|
|
|
|
* Octave: https://github.com/Calysto/octave_kernel
|
|
|
|
|
* MATLAB: https://github.com/mathworks/jupyter-matlab-proxy
|
2024-04-16 15:09:41 +08:00
|
|
|
|
* MMA: https://github.com/WolframResearch/WolframLanguageForJupyter
|
|
|
|
|
|
2024-03-29 12:17:56 +08:00
|
|
|
|
## 必要的版权说明
|
|
|
|
|
对于派生自其他团队的代码,我们在文件头添加了原版版权声明,我们保留并且支持其他开发团队版权
|
|
|
|
|
|