Python
Erkannt über requirements.txt, Pipfile oder pyproject.toml.
Siehe Buildpacksfür Detection und Versionspolitik.
Erkennt
requirements.txt, Pipfile oder pyproject.toml im Base directory.
Versionen
Default ist Python 3.13. Veröffentlichte Lines Stand September 2026: 3.10-3.14. Du bekommst den neuesten Patch der angefragten Minor.
Pinnen, in dieser Reihenfolge:
.python-versionruntime.txt(python-3.12geht)requires-pythoninpyproject.toml(ein Range nimmt die höchste passende veröffentlichte Version)
Install und Build
poetry.lock: Poetry,poetry install --no-devPipfile.lock: Pipenv,pipenv install --deploy --systemrequirements.txt:pip install -r requirements.txtpyproject.tomlmit[tool.poetry]und ohne Lockfile: Poetry- sonst:
pip install .
Django-Apps (manage.py plus eine Django-Dependency) führen collectstatic --noinput aus. Ein Fehler dort wird geloggt und lässt den Build nicht scheitern.
Launch setzt PYTHONUNBUFFERED=1. Django bekommt außerdem DJANGO_ENV=production und, wenn eine Datei */wsgi.py existiert, DJANGO_SETTINGS_MODULE.
Start-Command
- Django:
gunicorn <dir>.wsgi --bind 0.0.0.0:$PORT --workers 3 - FastAPI / Starlette:
uvicorn main:app --host 0.0.0.0 --port $PORT(oderapp:app, wenn diese Datei die App hält) - Flask: Gunicorn auf
app:app,application:appoderwsgi:app - sonst
python app.pyoderpython main.py, oder ein einfacher HTTP-Server
gunicorn oder uvicorn in die Dependencies legen, wenn du diese Defaults nutzt. Mit einer Procfile überschreiben. Auf PORT lauschen.