Meson 兼容性

meson-python 与 Meson 紧密集成,以生成 Python 轮子和 sdists。因此,正常操作取决于 Meson 实现的功能。 meson-python 努力保持与尽可能旧的 Meson 版本的兼容性。但是,某些功能仅在较新的 Meson 版本中可用。

0.64.0

Meson 0.64.0 是最低要求版本。

1.1.0

Meson 1.1.0 或更高版本需要支持 exclude_filesexclude_directories 参数,这些参数传递给 Meson install_subdir() 和类似的安装函数。在较旧的 Meson 版本中,这些参数无效。

1.2.0

Meson 1.2.0 或更高版本需要支持 --skip-subprojects 选项,该选项可以传递给 meson install 以在 Python 轮中不包含由某些或所有子项目安装的文件。

1.2.3

Meson 1.2.3 或更高版本需要支持 Python 3.12 或更高版本。从 1.2.3 版本开始,Meson 不再依赖于 distutils 模块,该模块已从 Python 3.12 的标准库中删除。当安装在 Python 3.12 上时,meson-python 依赖于 Meson 1.2.3 或更高版本。

1.3.0

Meson 1.3.0 或更高版本需要编译针对 Python 有限 API 的扩展模块。

构建前端默认情况下在隔离的 Python 环境中构建软件包,其中安装了构建依赖项。大多数情况下,除非软件包或其构建依赖项显式声明版本约束,否则这会导致安装构建依赖项的最新版本。但是,如果软件包使用仅在与特定 Meson 版本组合时才实现的功能,建议在 pyproject.toml 中显式声明版本要求。例如

[build-system]
build-backend = 'mesonpy'
requires = [
  'meson-python',
  'meson >= 1.1.0',
]