依赖策略的最低版本#

就本文档而言,“次要版本”是指 SemVer(主要、次要、补丁),包括主要和次要版本。对于使用基于日期的版本控制的项目,每个版本都是一个“次要版本”。

Matplotlib 遵循NEP 29

Python 和 NumPy #

Matplotlib 支持:

  • Python 的所有次要版本在项目前 42 个月发布,至少是两个最新的次要版本。

  • 项目前 24 个月内发布的所有次要版本,numpy至少是最后三个次要版本。

setup.py中,该python_requires变量应设置为支持的最低 Python 版本。所有受支持的 Python 次要版本都应包含在测试矩阵中,并具有为发布构建的二进制工件。

最低 Python 和 NumPy 版本支持应在每个主要和次要版本上向上调整,但绝不在补丁版本上。

另请参阅依赖版本列表

Python 依赖项#

对于 Python 依赖项,我们至少应该支持:

带编译扩展

在我们计划的发布日期之前的 24 个月内最初发布的次要版本或支持我们最低 Python + NumPy 的最旧版本

没有编译的扩展

在我们计划的发布日期之前的 12 个月内最初发布的次要版本或支持我们最低 Python 的最旧版本。

我们只会在需要新功能或旧版本不再支持我们的最低 NumPy 或 Python 时增加这些依赖项。

测试和文档依赖#

由于这些包仅用于测试或构建文档而不是最终用户需要的,因此我们可以更积极地放弃对旧版本的支持。但是,我们需要注意不要过度运行下游打包程序支持的内容(因为大多数运行测试和构建文档作为打包过程的一部分)。

我们将至少支持在计划发布前 12 个月内发布的开发依赖项的次要版本。

我们只会根据需要增加这些,或者版本不再支持我们的最低 Python 和 NumPy。

系统和 C 依赖项#

对于系统或 C 依赖项(FreeType、GUI 框架、LaTeX、Ghostscript、FFmpeg)支持尽可能老。这些对于最终用户来说可能很难安装,我们希望在尽可能多的系统上可用。我们将根据具体情况进行调整。

依赖版本列表#

以下列表显示了不同版本的 Matplotlib 的 Python 和 NumPy 依赖项的最低版本。按照链接获取依赖项的完整规范。

Matplotlib

Python

数字货币

3.6

3.8

1.19.0

3.5

3.7

1.17.0

3.4

3.7

1.16.0

3.3

3.6

1.15.0

3.2

3.6

1.11.0

3.1

3.6

1.11.0

3.0

3.5

1.10.0

2.2

2.7、3.4

1.7.1

2.1

2.7、3.4

1.7.1

2.0

2.7、3.4

1.7.1

1.5

2.7、3.4

1.6

1.4

2.6、3.3

1.6

1.3

2.6、3.3

1.5

1.2

2.6、3.1

1.4

1.1

2.4

1.1

1.0

2.4

1.1