Environment Variables
Maturin reads a number of environment variables which you can use to configure the build process. Here is a list of all environment variables that are read by maturin:
Cargo environment variables
See environment variables Cargo reads
Python environment variables
VIRTUAL_ENV
: Path to a Python virtual environmentCONDA_PREFIX
: Path to a conda environmentMATURIN_PYTHON_SYSCONFIGDATA_DIR
: Path to a directory containing asysconfigdata*.py
file_PYTHON_SYSCONFIGDATA_NAME
: Name of asysconfigdata*.py
fileMATURIN_PYPI_TOKEN
: PyPI token for uploading wheelsMATURIN_PASSWORD
: PyPI password for uploading wheelsMATURIN_PEP517_USE_BASE_PYTHON
: Use base Python executable instead of venv Python executable in PEP 517 build to avoid unnecessary rebuilds, should not be set when the sdist build requires packages installed in venv.
pyo3
environment variables
PYO3_CROSS_PYTHON_VERSION
: Python version to use for cross compilationPYO3_CROSS_LIB_DIR
: This variable can be set to the directory containing the target's libpython DSO and the associated_sysconfigdata*.py
file for Unix-like targets, or the Python DLL import libraries for the Windows target.This variable can be set to the directory containing the target's libpython DSO and the associated _sysconfigdata*.py file for Unix-like targets, or the Python DLL import libraries for the Windows target.PYO3_CONFIG_FILE
: Path to a pyo3 config file
Networking environment variables
HTTP_PROXY
/HTTPS_PROXY
: Proxy to use for HTTP/HTTPS requestsREQUESTS_CA_BUNDLE
/CURL_CA_BUNDLE
: Path to a CA bundle to use for HTTPS requests
Other environment variables
MACOSX_DEPLOYMENT_TARGET
: The minimum macOS version to targetSOURCE_DATE_EPOCH
: The time to use for the timestamp in the wheel metadataMATURIN_EMSCRIPTEN_VERSION
: The version of emscripten to use for emscripten buildsMATURIN_NO_MISSING_BUILD_BACKEND_WARNING
: Suppress missing build backend warningMATURIN_USE_XWIN
: Set to1
to force to usexwin
for cross compiling even on Windows that supports native compilationTARGET_SYSROOT
: The sysroot to use for auditwheel wheel when cross compilingARCHFLAGS
: Flags to control the architecture of the build on macOS, for example you can useARCHFLAGS="-arch x86_64 -arch arm64"
to build universal2 wheels