2. 环境搭建与快速启动:使用 pip 安装 GE,初始化项目,创建第一个 Data Context

好,咱们正式开始动手。这一章的目标很简单:在你的机器上把 Great Expectations 跑起来,然后创建一个项目骨架。我见过不少新手在环境配置上卡半天,其实真没那么复杂。跟着我来,十分钟搞定。

2.1 使用 pip 安装 Great Expectations

安装之前,我建议你先确认一下 Python 版本。GE 目前要求 Python 3.8 到 3.11。我个人习惯用 3.10,兼容性最好。

小提示: 如果你同时管理多个项目,强烈建议用虚拟环境。别问我为什么——我曾经在一个全局环境里装了一堆包,结果版本冲突搞得我差点重装系统。

打开终端,执行:

# 创建虚拟环境(推荐)
python -m venv ge_env
source ge_env/bin/activate  # Windows 用 ge_env\Scripts\activate

# 安装 Great Expectations
pip install great_expectations

安装完成后,验证一下:

great_expectations --version

如果看到版本号,说明装好了。嗯,这里要注意:如果你在公司内网,可能需要配置代理或使用离线包。我遇到过几次因为网络问题安装失败的情况,解决办法是提前下载 whl 文件。

2.2 初始化项目:创建 Data Context

Data Context 是什么?说白了,它就是 GE 项目的“大脑”——管理所有配置、数据源、校验规则和结果的地方。你想想看,没有它,GE 根本不知道你要校验什么数据。

初始化非常简单:

# 进入你的项目目录
cd my_data_project

# 初始化 GE 项目
great_expectations init

执行后,你会看到终端输出一堆信息。GE 会在当前目录下创建一个 great_expectations/ 文件夹。这就是你的 Data Context。

核心概念: Data Context 是 GE 项目的根对象。它包含了所有配置、Expectation Suite、Checkpoint 和 Data Docs 的路径。你后续的所有操作,几乎都要通过它来协调。

我们来看看这个文件夹里都有什么:

great_expectations/
├── great_expectations.yml   # 主配置文件
├── expectations/            # 存放 Expectation Suite
├── checkpoints/             # 存放 Checkpoint 配置
├── plugins/                 # 自定义插件目录
├── uncommitted/             # 不提交到版本控制的文件
│   ├── config_variables.yml # 敏感变量
│   └── data_docs/           # 生成的文档
└── .gitignore

这个结构很清晰。我刚开始用的时候,最喜欢的是 uncommitted/ 目录——它自动帮你把敏感信息隔离了,省得你手写 .gitignore。

2.3 创建第一个 Data Context(编程方式)

除了命令行,你也可以用 Python 代码来创建。我个人更推荐这种方式,尤其是在自动化脚本里。

import great_expectations as ge

# 创建 Data Context
context = ge.data_context.DataContext()

# 或者指定路径
# context = ge.data_context.DataContext("/path/to/my/great_expectations")

执行这段代码,GE 会在当前目录下创建 great_expectations/ 文件夹。如果已经存在,它会直接加载。

注意: 如果你在 Jupyter Notebook 里运行,确保当前工作目录正确。我曾经因为路径问题,在 Notebook 里创建了三个 Data Context 才发现——嗯,那场面挺尴尬的。

2.4 验证 Data Context 是否可用

创建完了,怎么知道它好不好使?跑个简单的列表看看:

# 列出所有可用的数据源
datasources = context.list_datasources()
print(datasources)

# 列出所有 Expectation Suite
suites = context.list_expectation_suites()
print(suites)

如果返回空列表,说明 Data Context 正常工作。别担心,空是正常的——我们还没添加任何数据源和校验规则。

2.5 本章知识体系

下面这张图帮你理清环境搭建的核心流程:

环境搭建与快速启动核心流程 1. pip 安装 GE 2. 初始化项目 3. 创建 Data Context 命令行:great_expectations init 编程:DataContext() 5. 验证 Data Context 避坑指南 • 使用虚拟环境 • 确认 Python 版本 • 注意工作目录

2.6 常见问题与避坑

安装和初始化过程中,你可能会遇到几个坑。我帮你列出来:

问题 原因 解决办法
pip 安装超时 网络问题或包体积大 使用国内镜像源:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple great_expectations
Python 版本不兼容 使用了 Python 3.12+ 降级到 3.10 或 3.11
初始化后找不到文件夹 当前目录权限不足 切换到有写入权限的目录
Jupyter 中 DataContext 报错 工作目录不对 用 os.chdir() 切换到项目根目录
我的经验: 如果你在公司用 Windows,记得把 great_expectations/ 加到杀毒软件的白名单里。我遇到过几次因为实时扫描导致初始化卡死的情况,关了杀毒软件瞬间就好了。

2.7 小结

到这一步,你的 GE 环境已经搭好了。Data Context 也创建成功了。说白了,你现在有了一个空白的“校验工作台”。接下来要做什么?往里面加数据源、写校验规则、跑检查。别急,后面几章会一步步带你走完。

嗯,最后提醒一句:如果你在团队里用,记得把 great_expectations/ 提交到 Git,但 uncommitted/ 目录要加到 .gitignore 里。GE 初始化时已经帮你做好了,别手贱改掉。