2. 环境准备:Python环境搭建、虚拟环境配置、requests库与pytest库安装

在开始信用评分API回放验证之前,必须搭建一个干净、可复现的Python开发环境。本章将指导你完成从Python解释器安装到依赖库配置的全过程,确保后续所有实验步骤一致、无冲突。

2.1 Python版本选择与安装

信用评分API回放验证依赖Python 3.8+的特性(如类型注解、f-string、异步支持)。推荐使用Python 3.10或3.11,这两个版本在兼容性和性能上达到最佳平衡。

Python版本 推荐场景 注意事项
3.8 企业遗留环境 缺少match语句,部分新库可能放弃支持
3.9 兼容性优先 性能与3.10接近,但生态逐步迁移
3.10 课程推荐 结构模式匹配、更优错误提示,主流库全面支持
3.11 追求性能 启动速度提升10-60%,适合大规模回放
验证安装:打开终端执行 python --version,确认输出为 Python 3.10.x 或 3.11.x。若系统同时存在Python 2,请使用 python3 --version 区分。

2.2 虚拟环境配置

虚拟环境隔离项目依赖,避免不同项目间的包版本冲突。Python 3.3+内置venv模块,无需额外安装。

2.2.1 创建虚拟环境

# 在项目根目录执行
python -m venv venv

# 激活虚拟环境(Windows)
venv\Scripts\activate

# 激活虚拟环境(macOS/Linux)
source venv/bin/activate

激活后,终端提示符前会出现 (venv) 标识,表示当前处于隔离环境。

2.2.2 虚拟环境核心操作

  • 退出环境:执行 deactivate
  • 查看已安装包:pip list
  • 导出依赖清单:pip freeze > requirements.txt
  • 从清单安装:pip install -r requirements.txt
常见陷阱:不要将虚拟环境文件夹(venv)提交到Git仓库。在项目根目录创建 .gitignore 文件,添加 venv/ 和 __pycache__/ 条目。

2.3 核心库安装:requests 与 pytest

本课程依赖两个核心Python库:requests(HTTP客户端)和 pytest(测试框架)。

2.3.1 安装命令

# 确保虚拟环境已激活
pip install requests pytest

# 验证安装
pip show requests
pip show pytest

2.3.2 库版本与用途

库名 最低版本 核心用途 替代方案
requests 2.28.0 发送HTTP请求、处理响应、会话管理 httpx(异步)、urllib(标准库)
pytest 7.4.0 测试用例组织、断言、夹具、参数化 unittest(标准库)、nose2
为什么选择requests + pytest?
- requests:API回放的核心——发送请求、记录响应、对比差异,API设计简洁直观。
- pytest:支持fixture管理测试数据、参数化批量回放、插件生态丰富(如pytest-html生成报告)。

2.4 环境验证:快速冒烟测试

安装完成后,执行以下脚本验证环境是否正常工作:

# test_env.py
import requests
import pytest

def test_requests_available():
    """验证requests库可正常导入并发送GET请求"""
    response = requests.get("https://httpbin.org/get")
    assert response.status_code == 200
    print(f"✅ requests 可用,状态码: {response.status_code}")

def test_pytest_assertion():
    """验证pytest断言机制"""
    expected = {"status": "ok"}
    actual = {"status": "ok"}
    assert expected == actual
    print("✅ pytest 断言正常")

if __name__ == "__main__":
    pytest.main([__file__, "-v"])

在终端执行 python test_env.py,若输出包含两个通过的测试用例,则环境准备完成。

2.5 环境架构总览

下图展示了从操作系统到API回放验证的完整技术栈层次:

信用评分API回放验证 — 环境架构 操作系统层(Windows / macOS / Linux) Python 3.10+ 解释器 虚拟环境(venv)— 依赖隔离 核心库:requests(HTTP客户端) + pytest(测试框架) 信用评分API回放验证脚本

2.6 常见问题与解决方案

问题现象 可能原因 解决方案
pip: command not found Python未加入PATH或未安装pip 重新安装Python并勾选“Add Python to PATH”
ModuleNotFoundError: No module named 'requests' 未激活虚拟环境或未安装包 执行 source venv/bin/activate 后重新 pip install requests
SSL: CERTIFICATE_VERIFY_FAILED 系统证书过期或缺失 执行 pip install --upgrade certifi 或设置 verify=False(仅测试)
虚拟环境激活后仍使用系统Python PATH顺序错误或未正确激活 检查 which python 路径是否指向venv内的解释器
最佳实践:每次开始新实验前,先执行 pip list 确认当前环境包含requests和pytest。建议将依赖固定到 requirements.txt:
pip freeze | grep -E "requests|pytest" > requirements.txt

2.7 本章小结

完成本章操作后,你应具备:

  • 一个可运行的Python 3.10+解释器
  • 一个隔离的虚拟环境(venv)
  • 已安装requests和pytest库
  • 通过冒烟测试验证环境正确性