2. 环境准备:Python环境、PyTorch Geometric安装、Neo4j图数据库搭建、看板前端依赖安装
搭建GraphSAGE团伙识别模型看板,首先需要完成底层开发环境的配置。本章将依次完成Python基础环境、图神经网络框架PyTorch Geometric、图数据库Neo4j以及看板前端依赖的安装与验证。请按照以下步骤操作,确保各组件版本兼容。
2.1 Python环境与虚拟环境配置
推荐使用Python 3.9–3.11版本,并通过虚拟环境隔离项目依赖。以下为推荐的环境配置清单:
| 组件 | 推荐版本 | 说明 |
|---|---|---|
| Python | 3.10.12 | 兼容PyTorch 2.x与PyG最新稳定版 |
| pip | ≥23.0 | 用于包管理 |
| venv / conda | 任意 | 推荐conda管理CUDA依赖 |
| CUDA Toolkit | 11.8 或 12.1 | 根据GPU驱动版本选择 |
💡 提示: 如果使用CPU训练,可跳过CUDA安装,PyTorch会自动选择CPU版本。但GraphSAGE在大规模团伙图上训练时,强烈建议使用GPU加速。
创建并激活虚拟环境:
# 使用conda创建环境
conda create -n graphsage_env python=3.10 -y
conda activate graphsage_env
# 或使用venv
python -m venv graphsage_env
source graphsage_env/bin/activate # Linux/Mac
# graphsage_env\Scripts\activate # Windows
2.2 PyTorch Geometric (PyG) 安装
PyG是构建GraphSAGE模型的核心框架。安装时需确保PyTorch版本与PyG版本匹配。以下为安装步骤:
- 安装PyTorch(以CUDA 11.8为例):
pip install torch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0 --index-url https://download.pytorch.org/whl/cu118
- 安装PyG核心库:
pip install torch_geometric==2.4.0
- 安装PyG扩展库(根据操作系统选择对应wheel):
# 以Linux + CUDA 11.8为例
pip install pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-2.1.0+cu118.html
⚠️ 注意: 扩展库必须与PyTorch和CUDA版本严格对应。如果安装失败,请访问
https://data.pyg.org/whl/ 查找匹配的wheel文件名。
验证安装:
python -c "import torch; print('PyTorch:', torch.__version__); import torch_geometric; print('PyG:', torch_geometric.__version__)"
预期输出示例:
PyTorch: 2.1.0+cu118
PyG: 2.4.0
2.3 Neo4j图数据库搭建
Neo4j用于存储团伙关系数据,并提供Cypher查询接口。本课程使用Neo4j Community Edition 5.x + APOC插件。
2.3.1 安装方式对比
| 方式 | 适用场景 | 安装命令/步骤 |
|---|---|---|
| Docker部署(推荐) | 快速启动、环境隔离 | docker run -p 7474:7474 -p 7687:7687 -e NEO4J_AUTH=neo4j/password neo4j:5.12.0 |
| 桌面版安装 | 本地开发调试 | 下载Neo4j Desktop,创建Local DBMS,设置密码 |
| Linux tar包安装 | 服务器部署 | 解压tar包,配置neo4j.conf,运行./bin/neo4j start |
💡 提示: 本课程使用Docker方式。启动后访问
http://localhost:7474 进入Neo4j Browser,使用默认账号 neo4j 和密码 password 登录。
2.3.2 安装APOC插件
APOC提供丰富的图算法和函数,用于后续团伙识别中的关系分析。Docker方式安装APOC:
# 下载APOC jar包到plugins目录
wget https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/download/5.12.0/apoc-5.12.0-core.jar
docker cp apoc-5.12.0-core.jar neo4j_container:/plugins/
# 重启容器
docker restart neo4j_container
验证APOC是否生效:在Neo4j Browser中执行 RETURN apoc.version();,应返回版本号。
2.4 看板前端依赖安装
看板前端基于Vue 3 + Vite + ECharts构建,用于展示团伙识别结果和关系图谱。
2.4.1 前端项目初始化
# 创建Vue 3项目
npm create vite@latest graphsage-dashboard -- --template vue
cd graphsage-dashboard
# 安装核心依赖
npm install vue-router@4 pinia axios echarts vue-echarts
# 安装开发依赖
npm install -D @types/node sass
2.4.2 依赖清单
| 包名 | 版本 | 用途 |
|---|---|---|
| vue | ^3.4.0 | 前端框架 |
| vue-router | ^4.2.0 | 路由管理 |
| pinia | ^2.1.0 | 状态管理 |
| axios | ^1.6.0 | HTTP请求(调用后端API) |
| echarts | ^5.5.0 | 关系图/柱状图/饼图渲染 |
| vue-echarts | ^6.6.0 | ECharts的Vue 3封装 |
| sass | ^1.69.0 | 样式预处理 |
⚠️ 注意: 如果使用npm安装时遇到权限错误,请尝试
npm cache clean --force 后重试。确保Node.js版本 ≥ 18。
2.5 环境架构总览
下图展示了本课程完整的开发环境架构,各组件之间的数据流向和依赖关系:
2.6 环境验证清单
完成上述安装后,请逐项检查以下内容,确保环境就绪:
- Python环境:
python --version输出 3.10.x - PyTorch + CUDA:
python -c "import torch; print(torch.cuda.is_available())"返回True(如有GPU) - PyG:
python -c "from torch_geometric.nn import SAGEConv; print('SAGEConv imported successfully')" - Neo4j:浏览器访问
http://localhost:7474可正常登录 - 前端项目:在
graphsage-dashboard目录下执行npm run dev,浏览器访问http://localhost:5173显示Vue默认页面