Umgebungsvariablen

Umgebungsvariablen können verwendet werden, um das Verhalten von meson-python sowie das Verhalten von Meson und anderen Werkzeugen, die während des Builds verwendet werden könnten, zu beeinflussen. Diese Seite listet alle Umgebungsvariablen auf, die direkt von meson-python verwendet werden.

Meson empfiehlt die Verwendung von Kommandozeilenargumenten anstelle von Umgebungsvariablen, unterstützt aber eine Reihe von Umgebungsvariablen zur Kompatibilität mit anderen Build-Systemen.

Andere Umgebungsvariablen können beeinflussen, wie andere Werkzeuge, die während der Einrichtungs- oder Build-Schritte verwendet werden, funktionieren. Beispielsweise unterstützt pkg-config PKG_CONFIG_PATH, was den Suchpfad für .pc-Dateien beeinflusst, die die verfügbaren Abhängigkeiten beschreiben.

Warnung

Conda setzt eine Reihe von Umgebungsvariablen während der Aktivierung der Umgebung für die Compiler-/Linkerauswahl (CC, CXX, FC, LD) und für Compile-/Link-Flags (CFLAGS, CXXFLAGS, FFLAGS, LDFLAGS), wenn Compiler in einer Conda-Umgebung installiert sind. Dies kann unerwartete Nebenwirkungen haben (siehe z.B. den Hinweis in Verwendung von Debug-Builds).

Von meson-python verwendete Umgebungsvariablen

ARCHFLAGS

Diese Umgebungsvariable wird zur Unterstützung der plattformübergreifenden Kompilierung auf macOS auf eine Weise verwendet, die mit setuptools kompatibel ist. Sie wird auf allen anderen Plattformen ignoriert. Sie kann auf -arch arm64 oder -arch x86_64 gesetzt werden, um für die Architekturen arm64 bzw. x86_64 zu kompilieren. Das Setzen dieser Umgebungsvariable auf einen anderen Wert wird nicht unterstützt.

Die macOS-Toolchain ermöglicht die plattformübergreifende Kompilierung durch Übergabe des -arch-Flags an die Compiler. meson-python inspiziert den Inhalt dieser Umgebungsvariable und synthetisiert eine Meson Cross-Build-Definitionsdatei mit dem entsprechenden Inhalt und übergibt sie über die Option --cross-file an meson setup.

Die Unterstützung für diese Umgebungsvariable wird nur aus Kompatibilitätsgründen mit vorhandenen Werkzeugen, insbesondere cibuildwheel, aufrechterhalten und ist nicht die empfohlene Lösung für plattformübergreifende Kompilierung.

FORCE_COLOR

Das Setzen dieser Umgebungsvariable auf einen beliebigen Wert erzwingt die Verwendung von ANSI-Escape-Sequenzen zur Farbgebung der Konsolenausgabe von meson-python. Das Setzen sowohl der Umgebungsvariablen NO_COLOR als auch FORCE_COLOR ist ein Fehler.

MACOSX_DEPLOYMENT_TARGET

Diese Umgebungsvariable wird verwendet, um die Ziel-macOS-Plattform-Hauptversion an die Xcode-Entwicklungswerkzeuge zu übergeben. Wenn diese Umgebungsvariable gesetzt ist, verwendet meson-python die angegebene macOS-Version für den Python-Wheel-Plattform-Tag anstelle der macOS-Version des Build-Computers.

Diese Variable muss nur mit macOS-Hauptversionen gesetzt werden: 10.9 bis 10.15, 11, 12, 13, ...

Bitte beachten Sie, dass sich die macOS-Versionierung ab macOS 11 geändert hat. Für macOS 10 ist das Versionierungsschema 10.$major.$minor. Ab macOS 11 ist es $major.$minor.$bugfix. Wheel-Tags und Deployment-Targets sind derzeit so konzipiert, dass sie nur mit der Hauptversionsnummer Kompatibilität angeben.

Eine andere Möglichkeit, die Ziel-macOS-Plattform anzugeben, ist die Verwendung der Compile- und Link-Flags -mmacosx-version-min. Es ist jedoch für meson-python nicht möglich, dies zu erkennen, und es wird der Python-Wheel-Plattform-Tag nicht entsprechend gesetzt.

MESON

Gibt die zu verwendende meson-Ausführungsdatei oder das Skript an. Sie überschreibt tool.meson-python.meson. Weitere Informationen finden Sie in Projekteinstellungen.

MESONPY_EDITABLE_VERBOSE

Das Setzen dieser Umgebungsvariablen auf einen beliebigen Wert ermöglicht die Weiterleitung von Meldungen, die während des Projekt-Rebuilds, der durch Importe von editierbaren Wheels ausgelöst wird, die von meson-python generiert wurden, an die Konsole gesendet werden. Weitere Informationen finden Sie im Leitfaden Editierbare Installationen.

NINJA

Gibt die zu verwendende ninja-Ausführungsdatei an. Sie kann auch zur Auswahl von ninja-Alternativen wie samurai verwendet werden.

NO_COLOR

Das Setzen dieser Umgebungsvariable auf einen beliebigen Wert deaktiviert die Verwendung von ANSI-Terminal-Escape-Sequenzen zur Farbgebung der Konsolenausgabe von meson-python. Das Setzen sowohl der Umgebungsvariablen NO_COLOR als auch FORCE_COLOR ist ein Fehler.