mirror of
https://github.com/google/benchmark.git
synced 2024-12-26 20:40:21 +08:00
3623765dd3
* Add `setuptools_scm` for dynamic zero-config Python versioning This removes the need for manually bumping versions in the Python bindings. For the wheel uploads, the correct semver version is inferred in the case of tagged commits, which is exactly the case in GitHub CI. The docs were updated to reflect the changes in the release workflow. * Add separate version variable and module, use PEP484-compliant exports This is the best practice mentioned in the `setuptools_scm` docs, see https://setuptools-scm.readthedocs.io/en/latest/usage/#version-at-runtime.
1.4 KiB
1.4 KiB
Building and installing Python bindings
Python bindings are available as wheels on PyPI for importing and using Google Benchmark directly in Python. Currently, pre-built wheels exist for macOS (both ARM64 and Intel x86), Linux x86-64 and 64-bit Windows. Supported Python versions are Python 3.8 - 3.12.
To install Google Benchmark's Python bindings, run:
python -m pip install --upgrade pip # for manylinux2014 support
python -m pip install google-benchmark
In order to keep your system Python interpreter clean, it is advisable to run these commands in a virtual environment. See the official Python documentation on how to create virtual environments.
To build a wheel directly from source, you can follow these steps:
git clone https://github.com/google/benchmark.git
cd benchmark
# create a virtual environment and activate it
python3 -m venv venv --system-site-packages
source venv/bin/activate # .\venv\Scripts\Activate.ps1 on Windows
# upgrade Python's system-wide packages
python -m pip install --upgrade pip build
# builds the wheel and stores it in the directory "dist".
python -m build
NB: Building wheels from source requires Bazel. For platform-specific instructions on how to install Bazel, refer to the Bazel installation docs.