環境變數¶
環境變數可用於影響 meson-python
的行為,以及 Meson 和其他在建置期間可能使用的工具的行為。此頁面列出了 meson-python
直接使用的所有環境變數。
Meson 建議使用命令列參數而不是環境變數,但為了與其他建置系統相容,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 的版本從 macOS 11 開始發生了變化。對於 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
環境變數是錯誤的。