注意

本节文档目前已过时。

pip 开发人员欢迎您帮助更新此文档。如果您有兴趣提供帮助,请在 跟踪问题 中告知我们,或者直接提交拉取请求并在跟踪问题中提及它。

持续集成

支持的解释器

pip 支持多种 Python 解释器

  • CPython 3.8

  • CPython 3.9

  • CPython 3.10

  • CPython 3.11

  • CPython 3.12

  • 最新 PyPy3

在不同的操作系统上

  • Linux

  • Windows

  • macOS

以及不同的架构上

  • x64

  • x86

所以有 42 个假设的解释器。

检查

pip CI 运行不同类型的测试

  • lint(在 .pre-commit-config.yaml 中定义)

  • 文档

  • 供应商(src/_internal/_vendor 目录是否被干净地供应)

  • 单元测试(位于 tests/unit

  • “集成”测试(主要位于 tests/functional

  • 包(测试打包步骤)

由于 lint、文档、供应商和包测试只需要在 pip 开发者/贡献者机器上运行,因此它们只需要在 3 种不同操作系统的 x64 变体上进行测试,当需要指定解释器时,要求使用最新的 CPython 解释器是可以的。

因此,只有单元测试和集成测试需要使用不同的解释器运行。

服务

pip 测试套件和检查在 GitHub Actions 上分发,GitHub Actions 为开源包提供免费的执行器。

当前运行测试

开发者任务

操作系统

文档

lint

供应商

打包

Linux

GitHub

GitHub

GitHub

GitHub

Windows

GitHub

GitHub

GitHub

GitHub

macOS

GitHub

GitHub

GitHub

GitHub

实际测试

解释器

单元

集成

Windows

x86

CP3.8

CP3.9

CP3.10

CP3.11

CP3.12

PyPy3

x64

CP3.8

GitHub

GitHub

CP3.9

CP3.10

CP3.11

GitHub

GitHub

CP3.12

PyPy3

Linux

x86

CP3.8

CP3.9

CP3.10

CP3.11

CP3.12

PyPy3

x64

CP3.8

GitHub

GitHub

CP3.9

GitHub

GitHub

CP3.10

GitHub

GitHub

CP3.11

GitHub

GitHub

CP3.12

GitHub

GitHub

PyPy3

macOS

arm64

CP3.8

CP3.9

CP3.10

CP3.11

CP3.12

PyPy3

x64

CP3.8

GitHub

GitHub

CP3.9

GitHub

GitHub

CP3.10

GitHub

GitHub

CP3.11

GitHub

GitHub

CP3.12

GitHub

GitHub

PyPy3