Python 3.12 removed the standard-library distutils module (PEP 632).
Why it happens
distutils was deprecated in Python 3.10 and fully removed in 3.12. Code (or a dependency) still imports it. This commonly surfaces after moving a Lambda function or container to a Python 3.12 runtime.
How to fix it
Interim: install setuptools, which still vendors a distutils shim — `pip install 'setuptools<81'` — and ensure it is in your deployment package.
Durable: replace `distutils` usage with `setuptools` and the `packaging` library (e.g. `packaging.version.Version` instead of `distutils.version.LooseVersion`).
Upgrade dependencies that import distutils to versions that no longer do.
Re-test on Python 3.12 locally before redeploying.