Meson 相容性¶
meson-python
與 Meson 緊密整合,以產生 Python wheel 和 sdist。因此,正確的操作取決於 Meson 實作的功能。meson-python
努力維持與盡可能舊的 Meson 版本的相容性。然而,某些功能僅在較新的 Meson 版本中可用。
- 0.64.0¶
Meson 0.64.0 是最低要求的版本。
- 1.1.0¶
需要 Meson 1.1.0 或更高版本才能支援 Meson
install_subdir()
和類似的安裝函式的exclude_files
和exclude_directories
參數。在較舊的 Meson 版本中,這些參數沒有效果。
- 1.2.0¶
需要 Meson 1.2.0 或更高版本才能支援可以傳遞給
meson install
的--skip-subprojects
選項,以不包含 Python wheel 中某些或所有子專案安裝的檔案。
- 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',
]