4. 环境与工具准备:Python 环境搭建、Jupyter Notebook 配置、核心依赖库安装与验证
在开始金融压力测试 A/B 分流实验之前,必须搭建一个稳定、可复现的本地开发环境。本章将指导你完成从 Python 解释器安装到核心依赖库验证的全流程,确保后续所有实验代码能够无故障运行。
4.1 Python 环境搭建
推荐使用 Python 3.9 ~ 3.12 版本,避免使用 3.8 以下或 3.13 以上(部分金融库尚未完全兼容)。建议通过 Miniconda 或 Anaconda 进行环境管理,以隔离不同项目的依赖冲突。
推荐方案: 使用 Miniconda(轻量级) + 独立虚拟环境。避免直接在 base 环境中安装大量包,防止版本冲突。
4.1.1 安装步骤(Windows / macOS / Linux)
- 下载对应操作系统的 Miniconda 安装包(官方地址)。
- 运行安装程序,勾选“Add Miniconda to PATH”(Windows)或按默认配置完成安装。
- 打开终端(Terminal / CMD / PowerShell),验证安装:
conda --version
# 输出示例:conda 24.1.2
python --version
# 输出示例:Python 3.12.2
4.1.2 创建专用虚拟环境
conda create -n stress_test python=3.12 -y
conda activate stress_test
激活后,终端提示符前会出现 (stress_test) 字样,表示已进入隔离环境。
4.2 Jupyter Notebook 配置
Jupyter Notebook 是金融数据分析与压力测试实验的首选交互式工具。它支持代码、可视化、Markdown 文档混排,非常适合 A/B 分流策略的迭代验证。
4.2.1 安装与启动
# 在 stress_test 环境中安装
conda install jupyter notebook -y
# 启动 Jupyter Notebook
jupyter notebook
启动后浏览器会自动打开 http://localhost:8888/tree,默认工作目录为终端启动时的路径。
4.2.2 配置内核绑定
确保 Jupyter 使用当前虚拟环境的内核:
conda install ipykernel -y
python -m ipykernel install --user --name stress_test --display-name "Python (stress_test)"
重启 Jupyter 后,在“New”下拉菜单中即可选择 Python (stress_test) 内核。
常见错误: 如果 Jupyter 中 import 库失败,通常是因为内核未绑定到正确的虚拟环境。请重新执行内核安装命令,并确认终端中
conda activate stress_test 已生效。
4.3 核心依赖库安装与验证
金融压力测试 A/B 分流涉及数据处理、统计分析、可视化与轻量级 Web 服务。以下五个库是本次课程的核心依赖:
| 库名 | 版本要求 | 主要用途 |
|---|---|---|
| pandas | ≥ 2.0 | 数据清洗、分组聚合、时间序列处理 |
| numpy | ≥ 1.24 | 数值计算、矩阵运算、随机数生成 |
| scipy | ≥ 1.11 | 统计分布、假设检验、优化算法 |
| matplotlib | ≥ 3.7 | 图表绘制、分布可视化、回测曲线 |
| flask | ≥ 3.0 | 轻量级 A/B 分流 API 服务 |
4.3.1 批量安装命令
conda install pandas numpy scipy matplotlib flask -y
如果使用 pip(不推荐混用,但可备选):
pip install pandas numpy scipy matplotlib flask
4.3.2 版本验证脚本
在 Jupyter Notebook 中新建一个 Cell,粘贴以下代码并运行:
import pandas as pd
import numpy as np
import scipy
import matplotlib
import flask
print(f"pandas : {pd.__version__}")
print(f"numpy : {np.__version__}")
print(f"scipy : {scipy.__version__}")
print(f"matplotlib : {matplotlib.__version__}")
print(f"flask : {flask.__version__}")
print("\n✅ 所有核心库导入成功,版本符合要求!")
预期输出示例:
pandas : 2.2.0
numpy : 1.26.4
scipy : 1.12.0
matplotlib : 3.8.3
flask : 3.0.2
✅ 所有核心库导入成功,版本符合要求!
验证要点: 如果某个库报
ModuleNotFoundError,请检查是否在正确的虚拟环境中执行安装命令。如果版本过低,使用 conda update <库名> 升级。
4.4 环境架构总览
下图展示了从底层操作系统到上层应用服务的完整技术栈关系:
4.5 常见问题与快速排查
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
conda: command not found |
Miniconda 未加入 PATH | 重新安装并勾选“Add to PATH”,或手动添加环境变量 |
| Jupyter 无法启动 | 端口 8888 被占用 | jupyter notebook --port=8889 更换端口 |
| 导入库报错 | 内核未绑定虚拟环境 | 重新执行 python -m ipykernel install |
| 版本过低 | Conda 源未更新 | conda update --all 或指定版本安装 |
环境就绪检查清单:
- ✅ Conda 虚拟环境
stress_test已激活 - ✅ Jupyter Notebook 已安装且内核绑定正确
- ✅ 五个核心库全部导入成功,版本 ≥ 最低要求
- ✅ 浏览器可正常打开 Jupyter 并创建 Notebook 文件