开放代码社区 › Pyminer - 数据统计分析决策平台

Pyminer - 数据统计分析决策平台

数据与可视化TypeScript

Pyminer - 数据统计分析决策平台 Pyminer 是一个基于 Electron + React 开发的轻量级数据统计分析和建模工具。应用主界面参考 Anaconda Navigator,以卡片形式提供快速访问不同功能模块。 JupyterLab 集成 :一键启动 JupyterLab 服务,支持交互式数据分析 Jupyter Notebook 支持 :直接打开和编辑 Jupyter Notebook 文件 可视化流程分析 :通过 WeStatFlow 模块实现数据分析工作流可视化 代码编辑器 :集成 Monaco Editor 的代码编辑功能(WeStatCode) 数据处理 :数据读

AI/机器学习Web后端前端工具数据库
作者:用户6868语言:TypeScript更新:2026-10-27
仓库地址
https://gitee.com/py2cn/pyminer.git

前往原仓库

README

# Pyminer - 数据统计分析决策平台

## 项目概述

**Pyminer** 是一个基于 Electron + React 开发的轻量级数据统计分析和建模工具。应用主界面参考 Anaconda Navigator,以卡片形式提供快速访问不同功能模块。

### 核心功能

- **JupyterLab 集成**:一键启动 JupyterLab 服务,支持交互式数据分析
- **Jupyter Notebook 支持**:直接打开和编辑 Jupyter Notebook 文件
- **可视化流程分析**:通过 WeStatFlow 模块实现数据分析工作流可视化
- **代码编辑器**:集成 Monaco Editor 的代码编辑功能(WeStatCode)
- **数据处理**:数据读取、清洗、建模、预测等完整数据科学工作流
- **环境管理**:支持 Python 包管理(pip/conda)和 Kernel 管理
- **终端支持**:集成 xterm.js 提供终端环境

### 设计理念

参考以下专业数据分析工具的设计:
- SAS Enterprise Miner、SAS EG
- FICO Model Build、RapidMiner
- SPSS、Orange、MATLAB

---

## 技术架构

### 技术栈

| 组件 | 版本 |
|------|------|
| Node.js | v22.21.1 |
| Electron | Latest |
| React | 19.2.0 |
| TypeScript | 5.9.3 |
| Ant Design | 6.0.0 |
| Vite | Latest |
| Python | 3.13.9 |
| Monaco Editor | Latest |
| flexlayout-react | Latest |
| xterm.js | Latest |

### 架构组成

```
┌────────────────────────────────────────────────────┐
│         Electron 主进程 & Preload                  │
├────────────────────────────────────────────────────┤
│  React 前端 (Vite 构建)                            │
│  ├─ 标题栏 & 菜单栏                                │
│  ├─ 活动栏 & 工具栏                                │
│  ├─ 主工作区 (Dockview + flexlayout)             │
│  │  ├─ 左侧:文件管理器                            │
│  │  ├─ 中间:主工作面板 + 底部面板                 │
│  │  └─ 右侧:变量查看器、历史记录、属性           │
│  ├─ 设置页面                                      │
│  └─ 状态栏                                        │
├────────────────────────────────────────────────────┤
│  后端服务                                          │
│  ├─ JupyterLab 服务 (Python 环境)                │
│  ├─ IPC 通信层                                    │
│  └─ 文件系统、路径、配置管理                       │
├────────────────────────────────────────────────────┤
│  Python 环境 (extensions/python)                  │
│  ├─ 解释器                                        │
│  ├─ Conda/Pip 包管理                             │
│  └─ 数据科学库                                    │
└────────────────────────────────────────────────────┘
```

---

## 下载与安装

### 前置要求

- **Node.js**: v22.21.1 或更高版本
- **Python**: 3.13.9(推荐)
- **npm**: 10.9.4 或更高版本

### 项目依赖安装

#### 1. Node.js 依赖

```bash
npm install
```

#### 2. Python 环境配置

下载 Python 解释器,放在 `extensions/python` 目录下(如果当前没有则需要手动创建此目录)。

推荐 Python 安装方式:

**方案 A:使用 uv 管理 Python**

```bash
# 下载并安装 uv
uv python install 3.13.9

# uv 会自动将 Python 安装到 extensions/python
```

**方案 B:手动配置**

1. 下载 Python 3.13.9
2. 将 Python 程序放在 `extensions/python` 目录
3. 确保 `extensions/python/python.exe` 存在

#### 3. 安装 Python 包

Python 子环境中需要安装数据科学库:

```bash
cd extensions/python

# 使用 pip(推荐)
pip install -i https://mirrors.aliyun.com/pypi/simple/ \
  numpy pandas scipy scikit-learn matplotlib seaborn plotly statsmodels \
  jupyterlab notebook beautifulsoup4 xgboost lightgbm catboost \
  pymysql sqlalchemy fastapi jupyterlab-language-pack-zh-CN

# 或使用 conda
conda install -c conda-forge \
  numpy pandas scipy scikit-learn matplotlib seaborn plotly statsmodels \
  jupyterlab notebook beautifulsoup4 xgboost lightgbm catboost \
  pymysql sqlalchemy fastapi
```

**主要 Python 依赖包:**

| 包名 | 描述 |
|------|------|
| numpy | 数值计算 |
| pandas | 数据处理 |
| scipy | 科学计算 |
| scikit-learn | 机器学习 |
| matplotlib, seaborn, plotly | 数据可视化 |
| statsmodels | 统计建模 |
| jupyterlab, notebook | 交互式计算环境 |
| beautifulsoup4 | 网页解析 |
| xgboost, lightgbm, catboost | 梯度提升算法 |
| pymysql, sqlalchemy | 数据库连接 |
| fastapi | 宗旨 API 开发 |
| jupyterlab-language-pack-zh-CN | 中文语言包 |

#### 4. 其他子工具

Python 子环境中已预置:
- **Conda**:`extensions/python/condabin/conda.bat`
- **Pip**:`extensions/python/Scripts/pip.exe`

Node.js 环境中需要:
- **uv**:需要不仅安装 Python,也会用于创建新项目

---

## 开发环境配置

### 项目结构

```
pyminer/
├─ src/                    # 前端源代码
│  ├─ main/                # Electron 主进程
│  │  ├─ index.js       # 主进程入口
│  │  ├─ ipc/           # IPC 事件处理
│  │  ├─ menu/          # 菜单定义
│  │  ├─ windows/       # 窗口管理
│  │  └─ utils/         # 工具函数
│  ├─ components/           # React 组件
│  │  ├─ RibbonBar/     # 菜单栏
│  │  ├─ ActivityBar/   # 活动栏
│  │  ├─ FileExplorer/  # 文件管理器
│  │  ├─ CodeEditor/    # 代码编辑器
│  │  ├─ SqlEditor/     # SQL 编辑器
│  │  └─ ...
│  ├─ pages/                 # 页面组件
│  │  ├─ Home/          # 首页
│  │  ├─ Environment/   # 环境管理
│  │  ├─ Settings/      # 设置页面
│  │  └─ ...
│  ├─ layouts/               # 布局组件
│  │  ├─ GlobalLayout/  # 全局布局
│  │  ├─ StatusBar/     # 状态栏
│  │  └─ ...
│  ├─ stores/                # 全局状态
│  ├─ hooks/                 # 自定义 Hooks
│  ├─ theme/                 # 主题配置
│  ├─ locales/               # 国际化配置
│  ├─ assets/                # 静态资源
│  ├─ App.tsx                # 根组件
│  └─ main.tsx               # 应用入口
│
├─ public/                   # 公共资源
│  ├─ preload.js            # Preload 脚本
│  ├─ logos/                # 应用 LOGO
│  └─ ...
│
├─ extensions/              # 程序扩展
│  ├─ python/               # Python 环境
│  │  ├─ python.exe
│  │  ├─ Scripts/
│  │  ├─ condabin/
│  │  └─ Lib/
│  ├─ notebooks/            # Jupyter 上作目录
│  ├─ uv/                   # uv 工具
│  └─ ...
│
├─ vite.config.ts           # Vite 配置
├─ tsconfig.json            # TypeScript 配置
├─ package.json             # 项目配置
└─ README.md                # 本文档
```

### 开发上手

#### 1. 安装依赖

```bash
npm install
```

#### 2. 启动开发服务器

```bash
# 终端 1:启动 Vite 开发服务器(支持热更新)
npm run dev

# 终端 2:启动 Electron 开发应用
npm run electron-dev
```

应用启动后自动打开并支持热改写。在 Electron 开发者工具(F12)中可查看日志和配置信息。

---

## 运行与打包

### 运行应用

#### 开发模式

```bash
# 终端 启动 Electron 开发应用
npm run electron-dev
```

应用启动后自动打开并支持热改写。在 Electron 开发者工具(F12)中可查看日志和配置信息。

#### 生产模式

```bash
# 编译 TypeScript 并打包应用
npm run electron-pack
```

输出路径:`release/` 目录,Windows 环境下生成 NSIS 安装包。

### 打包配置注意事项

- **资源加载**:生产环境需正确配置 `publicPath` 和 `file://` 协议处理
- **extensions 目录**:确保 Python 环境和扩展工具随安装包一起发布
- **IPC 通信**:生产环境下 IPC 消息传递需确保 Preload 脚本正常加载

---

## 默认配置项

### 应用默认设置

| 配置项 | 默认值 | 说明 |
|--------|--------|------|
| Python 路径 | `extensions/python/python.exe` | 项目相对路径,启动时转换为绝对路径 |
| Conda 路径 | `extensions/python/condabin/conda.bat` | 项目相对路径 |
| Pip 路径 | `extensions/pyt