環境變數

環境變數可用於影響 meson-python 的行為,以及 Meson 和其他在建置期間可能使用的工具的行為。此頁面列出了 meson-python 直接使用的所有環境變數。

Meson 建議使用命令列參數而不是環境變數,但為了與其他建置系統相容,Meson 確實支援許多環境變數。

其他環境變數可能會影響設定或建置步驟中使用的其他工具的操作方式。例如,pkg-config 支援 PKG_CONFIG_PATH,它會影響描述可用相依性的 .pc 檔案的搜尋路徑。

警告

當編譯器安裝在 conda 環境中時,Conda 會在環境啟用期間設定一些環境變數,用於編譯器/連結器選擇 (CCCXXFCLD) 和編譯/連結旗標 (CFLAGSCXXFLAGSFFLAGSLDFLAGS)。這可能會產生意料之外的副作用 (例如,請參閱 使用偵錯建置 中的註解)。

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_COLORFORCE_COLOR 環境變數是錯誤的。

MACOSX_DEPLOYMENT_TARGET

此環境變數用於將目標 macOS 平台的主要版本指定給 Xcode 開發工具。如果設定了此環境變數,meson-python 將使用指定的 macOS 版本作為 Python wheel 平台標籤,而不是建置機器的 macOS 版本。

此變數必須僅設定為 macOS 主要版本:10.910.15111213、...

請注意,macOS 的版本從 macOS 11 開始發生了變化。對於 macOS 10,版本配置為 10.$major.$minor。從 macOS 11 開始,版本配置為 $major.$minor.$bugfix。Wheel 標籤和部署目標目前僅設計為指定與主要版本號粒度的相容性。

指定目標 macOS 平台的另一種方法是使用 -mmacosx-version-min 編譯和連結旗標。但是,meson-python 無法偵測到這一點,因此不會相應地設定 Python wheel 平台標籤。

MESON

指定要使用的 meson 可執行檔或腳本。它會覆寫 tool.meson-python.meson。有關更多詳細資訊,請參閱 專案設定

MESONPY_EDITABLE_VERBOSE

將此環境變數設定為任何值,可以將由 meson-python 產生的可編輯 wheel 的匯入觸發的專案重建期間發出的訊息導向主控台。有關更多資訊,請參閱 可編輯安裝 指南。

NINJA

指定要使用的 ninja 可執行檔。它也可以用於選擇 ninja 的替代品,例如 samurai

NO_COLOR

將此環境變數設定為任何值,會停用使用 ANSI 終端跳脫序列來為 meson-python 的主控台輸出著色。同時設定 NO_COLORFORCE_COLOR 環境變數是錯誤的。