依赖策略的最低版本#
就本文档而言,“次要版本”是指 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.8 |
1.19.0 |
|
3.7 |
1.17.0 |
|
3.7 |
1.16.0 |
|
3.6 |
1.15.0 |
|
3.6 |
1.11.0 |
|
3.6 |
1.11.0 |
|
3.5 |
1.10.0 |
|
2.7、3.4 |
1.7.1 |
|
2.7、3.4 |
1.7.1 |
|
2.7、3.4 |
1.7.1 |
|
2.7、3.4 |
1.6 |
|
2.6、3.3 |
1.6 |
|
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 |