依赖关系策略的最低版本

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

Matplotlib如下 NEP 29 .

Python 与纽比

Matplotlib支持:

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

setup.py , the 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 NumPy
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