• Docs
  • Changelog
Sign in
Get started
    • Home
    • Your first deploy
    • Free instances
    • Platform features by plan
    • Use with coding agents
    • FAQ
    • Templates
      • Migrate from…
        • Heroku
        • Railway
    • Compute plans
    • SandboxesBeta
      • Service types
        • Which to use?
        • Static sites
        • Web services
        • Private services
        • Background workers
        • Cron jobs
        • Workflows
        • Multi-service architectures
      • Data storage
        • Render Postgres
        • Render Key Value (Redis®-compatible)
        • Persistent disks
    • How deploys work
    • Supported languages
    • Git providers (GitHub, etc.)
    • Build pipeline
    • Deploy hooks
    • Monorepo support
    • Troubleshooting deploys
      • Previewing changes
        • Single-service previews
        • Preview environments (multi-service)
      • Docker deploys
        • Overview
        • Deploy a registered image
        • Using secrets
      • Runtime
        • Native runtimes
        • Environment variables & secrets
        • Default environment variables
    • Intro to sandboxes
    • Limits
      • How to…
        • Create & configure sandboxes
        • Execute commands
        • Manage files
        • Manage snapshots
      • Use with…
        • Claude Managed Agents
        • Cursor Cloud Agents
        • OpenAI Agents API
      • SDK/CLI reference
        • TypeScript SDK
        • Python SDK
        • CLI commands
    • Intro to workflows
    • Tutorial
    • Limits & pricing
      • How to…
        • Define tasks
        • Define flowsNew
        • Trigger runs
        • Develop locally
      • SDK reference
        • TypeScript SDK
        • Python SDK
      • Example workflows
        • TypeScript examples
        • Python examples
    • Overview
    • Create & connect
    • Database credentials
    • Extensions
    • Version upgrades
    • Logical replication
    • Legacy instance types
      • Database recovery
        • Recovery & backups
        • High availability
      • Database performance
        • Read replicas
        • Connection pooling
        • Admin apps
        • Repacking tables
        • Troubleshooting performance
    • Regions
    • Inbound IP rules
    • Edge caching
    • WebSockets
    • TLS certificates
      • Custom domains
        • Overview
        • Cloudflare
        • Namecheap
        • Other DNS providers
      • Internal traffic
        • Private network
        • Private links
      • Outbound traffic
        • Default IP ranges
        • Dedicated IP addresses
        • Outbound bandwidth
        • Handling network changes
      • Static site config
        • Custom response headers
        • Redirects & rewrites
    • The Render Dashboard
    • SSH / Shell access
    • Projects & environments
      • Service actions
        • Scaling
        • Rollbacks
        • Maintenance mode
        • One-off jobs
      • Infrastructure as code
        • Blueprints overview
        • render.yaml reference
        • Terraform provider
    • In-dashboard metrics
    • Health checks
    • Uptime best practices
      • Logging
        • In-dashboard logs
        • Log streams (syslog/HTTPS)
      • OpenTelemetry (OTel) metrics
        • Provider setup
        • Metrics reference
      • Notifications
        • Webhooks
        • Email / Slack
    • MCP Server
      • Render CLI
        • Overview
        • Command reference
      • REST API
        • Overview
        • API reference
      • Third-party connections
        • OIDC support
        • Datadog
    • Workspaces, members, & roles
    • Login settings
    • Audit logs
      • Organizations
        • Overview
        • SAML SSO
    • DDoS protection
    • Platform maintenance
      • Compliance
        • Overview
        • HIPAA (US health data)
        • HIPAA best practices
        • Shared responsibility model
        • Pentest policy
    • Heroku vs Render
    • Vercel vs Render

Setting Your Python Version

Issues deploying your Python app? See Troubleshooting Python Deploys.

Current default Python versionMinimum supported Python version

3.14.10

Services created before 2026-11-03 have a different default version. See below.

3.7.3

Set a different Python version in any of the following ways (in descending order of precedence):

  1. Set your service's PYTHON_VERSION environment variable to a fully qualified Python version (e.g., 3.13.5). You can specify any released version from 3.7.3 onward.

    Setting the PYTHON_VERSION environment variable

    You must specify a fully qualified version (e.g., 3.13.5) if you use this method.

  2. Add a file named .python-version to the root of your repo. This file contains a single line with the version to use:

    You can omit the patch version (e.g., 3.13) if you use this method. If you omit it, Render uses the latest corresponding patch version.

Render doesn't support unreleased Python versions natively, but you can use them via Render's Docker support.

Versioning package managers

You can also set versions for the following Python package managers:

Package managerEnvironment variable

uv

UV_VERSION

To use uv, a uv.lock file must be present in your service's root directory. Learn more.

Poetry

POETRY_VERSION

History of default Python versions

If you don't set a Python version for your service, Render's default version depends on when you originally created the service:

Service Creation DateDefault Python Version
2026-11-03 and later3.14.10
2026-10-12 to 2026-11-033.14.8
2026-02-11 to 2026-10-123.14.3
2025-06-12 to 2026-02-113.13.4
2024-12-16 to 2025-06-123.11.11
2024-10-29 to 2024-12-163.11.10
2024-04-04 to 2024-10-293.11.9
2024-02-22 to 2024-04-043.11.8
2024-01-02 to 2024-02-223.11.7
2023-12-04 to 2024-01-023.11.6
Before 2023-11-013.7.10

Setting Your Python Version
  • Versioning package managers
  • History of default Python versions
Partially Degraded Service
© Render Inc. All rights reserved.