2. 环境搭建:Python虚拟环境配置、Flask框架安装、MySQL数据库安装与连接、Navicat或DBeaver客户端配置

本章是实战课程的基石。一个干净、隔离且可复现的开发环境,能避免项目间的依赖冲突,确保后续所有SQL查询与KPI看板代码的稳定运行。我们将按照“Python环境 → Web框架 → 数据库服务 → 可视化客户端”的路径,逐步搭建完整的本地开发栈。

💡 学习目标:完成本章后,你将拥有一个可独立运行的Flask应用,并成功连接到本地MySQL实例,为后续数据集成做好准备。

2.1 Python虚拟环境配置

虚拟环境为每个项目创建独立的Python解释器与包依赖空间,避免全局安装导致的版本冲突。推荐使用Python 3.8+ 内置的 venv 模块。

2.1.1 创建与激活虚拟环境

  1. 创建项目目录:在合适位置新建文件夹,例如 kpi_dashboard。
  2. 创建虚拟环境:在终端中进入项目目录,执行以下命令。
# Windows / macOS / Linux 通用
python -m venv venv
  1. 激活虚拟环境:不同操作系统命令略有差异。
操作系统 激活命令
Windows (CMD) venv\Scripts\activate
Windows (PowerShell) venv\Scripts\Activate.ps1
macOS / Linux source venv/bin/activate

激活成功后,终端提示符前会出现 (venv) 标识。

✅ 验证环境:运行 pip list,此时应只显示基础包,证明环境隔离生效。

2.1.2 虚拟环境工作流示意

下图展示了虚拟环境在项目开发中的隔离作用:

Python 虚拟环境隔离示意图 全局 Python 环境 Django 4.2 Pandas 2.0 Flask 2.3 ... 其他全局包 项目A (venv) Flask 2.3 PyMySQL 1.1 SQLAlchemy 2.0 ... 项目专属依赖 隔离 虚拟环境之间互不干扰,且与全局环境隔离

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连接配置步骤

  1. 下载安装:访问 DBeaver 官网下载社区版并安装。
  2. 新建连接:点击“数据库” → “新建数据库连接”,选择 MySQL。
  3. 填写参数:
参数 值
主机 localhost
端口 3306
数据库 kpi_dashboard
用户名 kpi_user
密码 Kpi@2024!
  1. 测试连接:点击“测试连接”,下载驱动后应显示“连接成功”。

2.4.2 客户端连接架构示意

下图展示了Flask应用、MySQL服务与客户端工具之间的通信关系:

开发环境组件通信架构 Flask 应用 Python / PyMySQL MySQL 服务 端口 3306 DBeaver 图形化客户端 TCP/IP TCP/IP Flask 通过 PyMySQL 驱动连接 MySQL DBeaver/Navicat 通过 JDBC 驱动连接同一 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查询逻辑。