AWS Lambda

The runtime parameter of python3.9 is no longer supported for creating or updating AWS Lambda functions

The runtime parameter of python3.9 is no longer supported for creating or updating AWS Lambda functions

What it means

AWS Lambda is blocking create/update operations on a deprecated Python runtime.

Why it happens

Per the AWS Lambda runtime deprecation table, python3.9 was deprecated on 2025-12-15; AWS blocks creating new python3.9 functions on 2027-02-01 and updating existing ones on 2027-03-03 (AWS delayed these beyond the usual 30/60 days). Earlier runtimes such as python3.7 are already blocked for create. The error fires when a deploy targets a runtime past its block date.

How to fix it

  1. Change the runtime to a supported version — AWS recommends python3.12 (python3.13 is also available).
  2. SAM/CloudFormation: `Runtime: python3.12`. CDK: `runtime: lambda.Runtime.PYTHON_3_12`. Terraform: `runtime = "python3.12"`. Serverless: `runtime: python3.12`.
  3. Re-test: Python 3.12 removed distutils and imp and moved the collections ABCs — see the related /fix pages.
  4. Redeploy and confirm with `aws lambda get-function-configuration --function-name <name> --query Runtime`.

Related deadline: Lambda Python 3.9 EOL2027-02-01.

Find every instance in your project

The free EOLkits scanner runs in your browser (nothing uploaded) and flags this and related breakages across your IaC and dependency files.

Primary source: https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html

Get the full migration audit — $299, hash-anchored PDF →