2. 环境搭建:Python虚拟环境配置、Flask框架安装、MySQL数据库安装与连接、Navicat或DBeaver客户端配置
本章是实战课程的基石。一个干净、隔离且可复现的开发环境,能避免项目间的依赖冲突,确保后续所有SQL查询与KPI看板代码的稳定运行。我们将按照“Python环境 → Web框架 → 数据库服务 → 可视化客户端”的路径,逐步搭建完整的本地开发栈。
💡 学习目标:完成本章后,你将拥有一个可独立运行的Flask应用,并成功连接到本地MySQL实例,为后续数据集成做好准备。
2.1 Python虚拟环境配置
虚拟环境为每个项目创建独立的Python解释器与包依赖空间,避免全局安装导致的版本冲突。推荐使用Python 3.8+ 内置的 venv 模块。
2.1.1 创建与激活虚拟环境
- 创建项目目录:在合适位置新建文件夹,例如
kpi_dashboard。 - 创建虚拟环境:在终端中进入项目目录,执行以下命令。
# Windows / macOS / Linux 通用
python -m venv venv
- 激活虚拟环境:不同操作系统命令略有差异。
| 操作系统 | 激活命令 |
|---|---|
| Windows (CMD) | venv\Scripts\activate |
| Windows (PowerShell) | venv\Scripts\Activate.ps1 |
| macOS / Linux | source venv/bin/activate |
激活成功后,终端提示符前会出现 (venv) 标识。
✅ 验证环境:运行
pip list,此时应只显示基础包,证明环境隔离生效。
2.1.2 虚拟环境工作流示意
下图展示了虚拟环境在项目开发中的隔离作用:
2.2 Flask框架安装
Flask是一个轻量级Python Web框架,非常适合构建API驱动的实时监控看板后端。在激活的虚拟环境中安装:
# 安装 Flask 及其常用扩展
pip install flask flask-cors flask-sqlalchemy
2.2.1 验证Flask安装
创建一个最小化应用来验证安装是否成功:
# app.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'KPI Dashboard 环境搭建成功!'
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0', port=5000)
运行 python app.py,访问 http://127.0.0.1:5000,看到成功提示即表示Flask安装正确。
⚠️ 常见问题:如果提示
ModuleNotFoundError: No module named 'flask',请确认已激活虚拟环境并重新执行安装命令。
2.3 MySQL数据库安装与连接
MySQL作为关系型数据库,负责存储KPI指标原始数据。本课程以MySQL 8.0为例。
2.3.1 安装与启动MySQL服务
| 操作系统 | 推荐安装方式 | 启动命令 |
|---|---|---|
| Windows | MySQL Installer (MSI) | 通过服务管理器启动 |
| macOS | Homebrew: brew install mysql |
brew services start mysql |
| Linux (Ubuntu) | apt install mysql-server |
systemctl start mysql |
2.3.2 创建数据库与用户
使用MySQL命令行客户端创建课程专用数据库:
-- 登录MySQL
mysql -u root -p
-- 创建数据库
CREATE DATABASE kpi_dashboard CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 创建用户并授权
CREATE USER 'kpi_user'@'localhost' IDENTIFIED BY 'Kpi@2024!';
GRANT ALL PRIVILEGES ON kpi_dashboard.* TO 'kpi_user'@'localhost';
FLUSH PRIVILEGES;
-- 验证连接
SHOW DATABASES;
2.3.3 Python连接MySQL
安装数据库驱动并编写连接测试脚本:
# 安装驱动
pip install pymysql
# test_connection.py
import pymysql
try:
connection = pymysql.connect(
host='localhost',
user='kpi_user',
password='Kpi@2024!',
database='kpi_dashboard',
charset='utf8mb4'
)
print("✅ MySQL 连接成功!")
connection.close()
except Exception as e:
print(f"❌ 连接失败: {e}")
2.4 数据库客户端配置
图形化客户端能大幅提升SQL编写与数据浏览效率。本课程推荐使用 DBeaver(开源免费)或 Navicat(商业版,功能更全)。
2.4.1 DBeaver连接配置步骤
- 下载安装:访问 DBeaver 官网下载社区版并安装。
- 新建连接:点击“数据库” → “新建数据库连接”,选择 MySQL。
- 填写参数:
| 参数 | 值 |
|---|---|
| 主机 | localhost |
| 端口 | 3306 |
| 数据库 | kpi_dashboard |
| 用户名 | kpi_user |
| 密码 | Kpi@2024! |
- 测试连接:点击“测试连接”,下载驱动后应显示“连接成功”。
2.4.2 客户端连接架构示意
下图展示了Flask应用、MySQL服务与客户端工具之间的通信关系:
2.5 环境验证清单
完成上述步骤后,请逐项核对以下清单,确保环境就绪:
| 序号 | 验证项 | 验证方法 | 预期结果 |
|---|---|---|---|
| 1 | 虚拟环境激活 | 终端输入 pip list |
包列表简洁,无全局干扰包 |
| 2 | Flask运行 | 访问 http://127.0.0.1:5000 |
页面显示成功提示 |
| 3 | MySQL服务 | 命令行 mysql -u kpi_user -p |
成功登录MySQL |
| 4 | Python连接 | 运行 test_connection.py |
输出“连接成功” |
| 5 | 客户端连接 | DBeaver测试连接 | 显示“连接成功” |
📌 环境快照:建议在项目根目录创建
requirements.txt 文件,运行 pip freeze > requirements.txt 记录当前依赖,方便团队协作或环境重建。
至此,实时监控大屏的本地开发环境已全部搭建完成。下一阶段我们将基于此环境,开始设计数据库表结构与编写SQL查询逻辑。