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_files
和exclude_directories
参数,这些参数传递给 Mesoninstall_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',
]