环境变量¶
环境变量可用于影响 meson-python
的行为,以及在构建期间可能使用的 Meson 和其他工具的行为。此页面列出了 meson-python
直接使用的所有环境变量。
Meson 建议使用命令行参数而不是环境变量,但为了与其他构建系统兼容,它支持一些环境变量。
其他环境变量可能会影响设置或构建步骤中使用的其他工具的操作方式。例如,pkg-config
支持 PKG_CONFIG_PATH
,它会影响 .pc
文件的搜索路径,这些文件描述了可用的依赖项。
警告
当编译器安装在 conda 环境中时,Conda 会在环境激活期间设置一些环境变量,用于编译器/链接器选择 (CC
、CXX
、FC
、LD
) 和编译/链接标志 (CFLAGS
、CXXFLAGS
、FFLAGS
、LDFLAGS
)。这可能会产生意想不到的副作用(例如,请参见 使用调试构建 中的说明)。
meson-python 使用的环境变量¶
- ARCHFLAGS¶
此环境变量用于以与 setuptools 兼容的方式支持 macOS 上的体系结构交叉编译。它在所有其他平台上都会被忽略。它可以设置为
-arch arm64
或-arch x86_64
,分别用于为 arm64 和 x86_64 体系结构编译。将此环境变量设置为任何其他值都不受支持。macOS 工具链允许通过将
-arch
标志传递给编译器来进行体系结构交叉编译。meson-python
会检查此环境变量的内容,并使用适当的内容合成一个 Meson 交叉构建定义文件,并通过--cross-file
选项将其传递给meson setup
。仅为了与现有工具(特别是 cibuildwheel)的兼容性才维护对此环境变量的支持,它不是跨编译的推荐解决方案。
- FORCE_COLOR¶
将此环境变量设置为任何值都会强制使用 ANSI 转义序列来为
meson-python
的控制台输出着色。设置NO_COLOR
和FORCE_COLOR
两个环境变量是一个错误。
- MACOSX_DEPLOYMENT_TARGET¶
此环境变量用于将目标 macOS 平台主版本指定给 Xcode 开发工具。如果设置了此环境变量,
meson-python
将使用指定的 macOS 版本作为 Python wheel 平台标签,而不是构建机器的 macOS 版本。此变量必须设置为仅包含 macOS 主版本:
10.9
到10.15
、11
、12
、13
、…请注意,从 macOS 11 开始,macOS 版本号发生了变化。对于 macOS 10,版本号方案是
10.$major.$minor
。从 macOS 11 开始,它是$major.$minor.$bugfix
。wheel 标签和部署目标当前设计为仅指定与主要版本号粒度的兼容性。另一种指定目标 macOS 平台的方法是使用
-mmacosx-version-min
编译和链接标志。但是,meson-python
无法检测到这一点,它也不会相应地设置 Python wheel 平台标签。
- MESONPY_EDITABLE_VERBOSE¶
将此环境变量设置为任何值都会启用将由
meson-python
生成的可编辑 wheel 的导入触发的项目重建期间发出的消息定向到控制台。有关更多信息,请参阅 可编辑安装 指南。
- NO_COLOR¶
将此环境变量设置为任何值都会禁用使用 ANSI 终端转义序列来为
meson-python
的控制台输出着色。设置NO_COLOR
和FORCE_COLOR
两个环境变量是一个错误。